In a large pot of boiling salted water, cook pasta according to package instructions; drain well.
Melt butter in a large cast iron skillet over medium high heat. Add garlic and shallot, and cook, stirring frequently, until fragrant, about 2 minutes.
Whisk in flour until lightly browned, about 1 minute. Gradually whisk in milk, half and half and Dijon until slightly thickened, about 3-4 minutes. If the mixture is too thick, add more milk as needed; season with salt and pepper, to taste.
Stir in pasta, broccoli and cheese until well combined, about 3-4 minutes.
Serve immediately.
Notes
Use ridge-shaped pasta. Shells is perfectly bite-sized and well-suited for capturing sauces. Elbows, penne or cavatappi are also excellent options.
Cook the pasta until al dente. The pasta will finish cooking in the warm cheese sauce.
Freshly grated cheese goes a long way. Pre-packaged shredded cheese contains anti-caking agents that can lead to grainy, gritty mac and cheese. Freshly grated cheese will melt uniformly, ensuring a smoother melt, better creamy texture, and richer flavors throughout.
Stir in the cheese a handful at a time. This will prevent the sauce from becoming grainy or clumpy.
Clean out the fridge. Add leftover rotisserie chicken or any lingering veggies such as zucchini, peas, spinach or kale.