Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to package instructions until al dente. Drain the macaroni in a colander and set aside.
In a medium saucepan, melt the butter over medium heat. Once melted, sprinkle the flour over the butter and whisk continuously for about 1-2 minutes to create a roux.
Gradually pour in the milk while continuing to whisk until the mixture is smooth and begins to thicken (about 5 minutes).
Reduce the heat to low and add the shredded cheddar cheese, mustard powder, garlic powder, salt, and black pepper. Stir until the cheese is completely melted and the sauce is creamy.
Combine the cooked macaroni with the cheese sauce and stir until the pasta is evenly coated.
If using breadcrumbs, preheat your oven to 350°F (175°C). Transfer the macaroni and cheese to a baking dish and sprinkle breadcrumbs on top for added texture and crunch. Bake for 10-15 minutes, or until the top is golden brown and bubbly.
Serve hot, and enjoy your homemade macaroni and cheese!