Start by bringing a large pot of salted water to a boil. Add the elbow macaroni and cook according to package instructions until al dente. Drain and set aside.
In a large saucepan, melt the unsalted butter over medium heat. Once melted, whisk in the flour and cook for about 1 minute until it turns a light golden color.
Slowly pour in the milk, whisking continuously to avoid lumps. Continue to cook and stir until the mixture thickens and begins to bubble.
Remove the saucepan from heat and stir in the shredded sharp cheddar cheese until fully melted and creamy. Add the salt, black pepper, garlic powder, and onion powder, mixing well.
Add the drained macaroni to the cheese sauce, stirring until all the pasta is coated evenly.
If you like a crispy topping, preheat your oven to 350°F (175°C). Transfer the mac and cheese to a baking dish, sprinkle breadcrumbs on top, and bake for about 20 minutes or until bubbly and golden brown.