Start by cooking the elbow macaroni until it's al dente. Drain and set aside, but don't rinse. Save some of the pasta water for later.
In the same pot, melt the butter and then add the all-purpose flour. Stir it continuously to create a roux, cooking it until it's lightly browned.
Gradually pour in the warmed whole milk while whisking continuously to create a smooth sauce. Allow it to simmer for 3-5 minutes to thicken.
Season the sauce with kosher salt, ground mustard, garlic powder, and cayenne pepper (if you prefer some heat). Adjust the seasonings to your taste.
Add the shredded sharp cheddar and mozzarella cheeses to the sauce. Stir until the cheese is completely melted and the sauce is creamy.
If the sauce gets too thick, you can thin it out with some of the reserved pasta water. Add it a little at a time until you achieve your desired consistency.
Fold the cooked macaroni into the cheese sauce, ensuring that it's well coated with the creamy goodness.
Add some of the crispy bacon to the mac and cheese at this stage for extra flavor and texture.
Serve your Bacon Mac and Cheese hot, garnished with chopped parsley for a pop of color and freshness.