Preheat the oven to 350°F (175°C).
In a large pot, bring salted water to a boil. Add elbow macaroni and cook according to package instructions until al dente. Drain and set aside.
In a saucepan over medium heat, melt the butter. Once melted, whisk in the flour and cook for about 1 minute until bubbly and golden.
Gradually add the milk while whisking continuously to avoid lumps. Continue whisking until the mixture thickens, around 5-7 minutes.
Stir in the cheddar cheese, mozzarella cheese, garlic powder, onion powder, mustard powder, salt, and pepper. Mix until all cheese is melted and the sauce is smooth.
Combine the cooked macaroni with the cheese sauce, ensuring all pasta is well coated.
Pour the macaroni and cheese mixture into a greased baking dish.
If using, mix the breadcrumbs with melted butter and sprinkle evenly over the top of the mac and cheese.
Bake in the preheated oven for 25-30 minutes until bubbly and golden brown on top.
Allow it to cool for a few minutes before serving.