Melt the butter in a large saucepan over medium-high heat. Cook the onion and garlic for 3-4 minutes, or until translucent.
7 tbsp butter, ½ large onion, 2 tsp garlic
If not done already, shred the cheese while the onion and garlic cook. Combine the milk and water in a separate measuring cup.
4 cups milk, 4 cups water
Add the flour and mustard powder to the pot and whisk constantly for 30-60 seconds.
6 tbsp flour, 1 tsp mustard powder
Slowly add a little milk/water mixture at a time, whisking constantly, until a thick slurry forms. Then continue adding the milk and water slowly, whisking to incorporate it without leaving any lumps.
Add the pasta and bring the pot to a simmer, then continue cooking for 8-10 minutes, or until the noodles are tender. Continue stirring every couple of minutes so that the noodles don't stick. (If it starts boiling, reduce the heat until it is simmering).
1 lb elbow macaroni
Remove the pot from the heat, then stir in the cheese a few handfuls at a time, until the cheese is completely melted. Taste and season with salt and pepper if needed. It will be very saucy, but will thicken as it cools.
2 cups (5 oz) mozzarella cheese, 2 cups (5 oz) sharp cheddar cheese, ¾ tsp salt, ½ tsp pepper