Preheat & Prep: Preheat your oven to 350°F (175°C). Lightly grease a 9×13-inch baking dish and set aside.
Cook the Pasta: Bring a large pot of salted water to a boil. Cook the elbow macaroni just until al dente — it will finish cooking in the oven. Drain and set aside.
Make the Roux: In a large saucepan, melt 4 tablespoons butter over medium heat. Add ¼ cup flour and whisk constantly for 1–2 minutes until the mixture turns lightly golden and smells nutty.
Add the Dairy: Slowly pour in milk and cream, whisking the whole time to avoid lumps. Bring to a gentle simmer and cook until the sauce thickens — about 3–5 minutes.
Flavor the Sauce: Stir in Dijon mustard, garlic powder, onion powder, salt, and pepper.
Add the Cheese: Lower the heat, then add cheddar, mozzarella, and Parmesan, one handful at a time, whisking until melted and silky smooth.
Combine with Pasta: Add the cooked macaroni into the sauce and stir until every piece is coated in cheesy goodness.
Top and Bake :Pour the mac and cheese into your prepared dish. In a small bowl, mix breadcrumbs with melted butter, then sprinkle evenly over the top.
Bake: Bake for 20–25 minutes, until the top is golden and bubbly. Let it rest for 5 minutes before serving — the sauce thickens beautifully as it sits.