Cook the macaroni in salted boiling water until al dente, about 7-8 minutes. Drain and set aside.
In a saucepan over medium heat, melt the butter. Add the flour and stir to form a roux, cooking for about 1-2 minutes until lightly golden.
Gradually whisk in the milk, ensuring there are no lumps. Continue stirring while cooking until the mixture thickens, about 5-7 minutes.
Remove the pan from heat and stir in the shredded cheddar, salt, pepper, garlic powder, and paprika until melted and smooth.
Combine the cheese sauce with the drained macaroni, mixing until well-coated.
Serve immediately or transfer to a baking dish for broiling if you prefer a crispy topping.