Step 1: Cook the Pasta - Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to the package instructions until al dente. Drain the pasta in a colander and set aside, reserving about a cup of pasta water.
Step 2: Make the Roux - In a large saucepan over medium heat, melt the butter. Once melted, whisk in the flour until you form a paste. Cook for about a minute, stirring constantly.
Step 3: Create the Cheese Sauce - Slowly whisk in the low-fat milk, ensuring there are no lumps. Continue to whisk until the mixture thickens, about 5-7 minutes. Stir in the dry mustard and garlic powder.
Step 4: Add the Cheeses - Reduce the heat to low and stir in the cream cheese until melted. Then, gradually add the shredded cheddar and mozzarella, mixing until everything is smooth and creamy.
Step 5: Combine Pasta and Sauce - Add the drained macaroni to the cheese sauce, stirring to coat all the pasta evenly. If the sauce is too thick, add a bit of the reserved pasta water until you reach your desired consistency.
Step 6: Serve and Enjoy - Serve warm, and if you're feeling adventurous, top with breadcrumbs or try a variation for an extra twist!