Warm the base: In a large pot or deep sauté pan, add the broth, whole milk, butter, salt, garlic powder, onion powder, and pepper.
Bring to a gentle simmer over medium heat. Do not boil hard—gentle bubbles are perfect.
Add the pasta: Stir in the macaroni. Simmer uncovered, stirring often to prevent sticking.
Adjust heat as needed to maintain a steady, gentle simmer.
Cook until just tender: Let the pasta cook for 7–9 minutes, or until al dente. If the liquid reduces too quickly, splash in a little more milk. You want some starchy liquid left in the pot.
Pour in evaporated milk: Reduce heat to low.
Stir in the evaporated milk and the Dijon mustard. This adds body and a slight tang that keeps the sauce balanced.
Stir in cheese gradually: Add the shredded cheeses a handful at a time, stirring constantly until melted before adding more. Keep the heat low to avoid splitting.
Adjust consistency: If the sauce is too thick, add a little milk.
If it’s too loose, let it sit off the heat for a couple minutes; it will thicken as the starch relaxes.
Taste and finish: Adjust salt and pepper. Add a pinch of smoked paprika or a few shakes of hot sauce if you like heat. A tiny squeeze of lemon can brighten the richness.
Serve immediately: Mac and cheese is best right away when the sauce is glossy and smooth.
Garnish with chives, extra pepper, or a sprinkle of Parmesan if you want.