Cook the Pasta
Bring a large pot of water to a boil, add 1 tablespoon of salt, and cook pasta according to package directions until al dente. Drain and set aside.
Make the Roux
In a large saucepan or deep skillet, melt butter over medium heat.
Whisk in flour and cook for 1–2 minutes, stirring constantly, until bubbly and slightly golden.
Add Milk & Cream
Slowly whisk in the warm milk and cream, stirring constantly to avoid lumps.
Continue cooking for 3–5 minutes, until slightly thickened.
Season the Sauce
Whisk in Dijon mustard, garlic powder, smoked paprika, salt, and pepper.
Add Cheese
Reduce heat to low and stir in cheddar, Gruyère (or mozzarella), and Parmesan until melted and smooth.
Combine Pasta & Sauce
Add drained pasta to the cheese sauce and stir until fully coated.
Taste and adjust seasoning if needed.
Serve Immediately
Enjoy hot, optionally garnished with extra cheese, chopped parsley, or a sprinkle of paprika.