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.