Bring a large pot of salted water to a boil.
Cook elbow macaroni according to package instructions until al dente.
Drain and set aside.
In a large pot, melt butter over medium heat.
Whisk in flour and cook for 1-2 minutes, stirring constantly, to create a smooth roux.
Slowly whisk in milk and heavy cream, stirring until smooth.
Add salt, black pepper, garlic powder, and mustard powder (if using).
Simmer for 3-4 minutes, until slightly thickened.
Reduce heat to low and gradually stir in cheddar and mozzarella cheese until melted and smooth.
Add the cooked pasta to the cheese sauce and stir until well coated.
In a small bowl, mix breadcrumbs, melted butter, and Parmesan cheese.
Preheat oven to 375°F (190°C).
Transfer mac and cheese to a greased 9×13-inch baking dish.
Sprinkle breadcrumb topping evenly over the dish.
Bake uncovered for 20-25 minutes, until golden brown and bubbly.
Let cool for 5 minutes before serving.
