Preheat the oven to 350°F (175°C).
Cook the elbow macaroni according to package instructions; drain and set aside.
In a saucepan, melt butter over medium heat.
Stir in flour, garlic powder, and onion powder; cook for 1-2 minutes.
Gradually whisk in milk and heavy cream until smooth.
Cook the mixture, stirring constantly, until it thickens (about 5 minutes).
Remove from heat and stir in the shredded cheese until melted.
Add cooked macaroni to the cheese sauce; mix well.
Pour the mac and cheese into a greased baking dish.
Optional: sprinkle breadcrumbs on top for added crunch.
Bake in the preheated oven for 15-20 minutes until bubbly and golden.