- Boil the Spaghetti 
- Cook spaghetti in salted boiling water until al dente. Drain and set aside, reserving ½ cup of the pasta water. 
- Make the Roux 
- In a large saucepan, melt butter over medium heat. Whisk in flour and stir constantly for about 1 minute. 
- Add Milk and Cream 
- Gradually whisk in warm milk and cream. Continue stirring until the sauce thickens, about 4–5 minutes. 
- Stir in Cheese 
- Lower heat and slowly stir in cheddar, mozzarella, and optional parmesan until melted and smooth. 
- Season 
- Add salt, pepper, garlic powder, and mustard powder. Taste and adjust as needed. 
- Combine Pasta and Sauce 
- Add cooked spaghetti to the cheese sauce. Toss until evenly coated. Add a splash of pasta water if the sauce is too thick. 
- Optional Baked Version 
- Transfer to a baking dish, top with breadcrumbs and extra cheese. Bake at 375°F (190°C) for 15–20 minutes until golden and bubbly. 
- Serve and Enjoy 
- Garnish with parsley or green onions and serve hot!