Preheat your oven to 350°F (175°C).
Cook the elbow macaroni according to package instructions until al dente; drain and set aside.
In a saucepan, melt the butter over medium heat.
Stir in the flour and cook for 1-2 minutes until bubbly.
Gradually whisk in the milk, stirring constantly until thickened.
Add the salt, pepper, garlic, and onion powder, stirring well.
Remove from heat and mix in the shredded cheddar until melted.
Combine the cheese sauce with the cooked macaroni in a large bowl.
Transfer to a greased baking dish and sprinkle with breadcrumbs if desired.
Bake for 15-20 minutes until golden and bubbly.