Cook the macaroni according to package instructions until al dente.
While the pasta cooks, melt the butter in a saucepan over medium heat.
Whisk in the flour and cook for about 1-2 minutes, stirring constantly.
Gradually add the milk while whisking to avoid lumps.
Continue to cook the sauce over medium heat until it thickens, about 5 minutes.
Remove from heat and stir in the shredded cheese until melted and smooth.
Season the cheese sauce with salt, black pepper, and paprika.
Combine the cooked macaroni with the cheese sauce, stirring well to coat.
If using breadcrumbs, pour the mixture into a greased baking dish and top with breadcrumbs.
Bake the mac and cheese in a preheated oven at 350°F for 20-25 minutes until bubbly and golden.