Preheat your oven to 350°F (175°C).
In a large pot, bring salted water to a boil. Add the elbow macaroni and cook according to the package instructions until al dente. Drain in a colander and set aside.
In a medium saucepan, melt the butter over medium heat. Once melted, whisk in the flour and cook for about 1 minute, stirring constantly.
Gradually pour in the milk while continuously whisking to avoid lumps. Cook until the mixture thickens and slightly bubbles, around 5-7 minutes.
Remove the saucepan from the heat and stir in the cheese, salt, pepper, and paprika (if using). Continue stirring until the cheese is fully melted and the sauce is creamy.
Combine the cooked macaroni with the cheese sauce, stirring until all the pasta is coated.
Transfer the macaroni and cheese mixture into a greased 3-quart baking dish. If desired, sprinkle breadcrumbs over the top for a crunchy topping.
Bake in the preheated oven for 20-25 minutes, or until the top is golden and bubbly.
Remove from the oven and let it cool for a few minutes before serving.