Cook the macaroni: Bring a large pot of salted water to a boil. Add elbow macaroni and cook until just al dente. Drain and set aside.
Make the roux: In a saucepan, melt the butter over medium heat. Whisk in the flour and cook for 1 minute to form a paste.
Add milk: Gradually whisk in the warm milk. Cook, stirring constantly, until the mixture thickens, about 3–4 minutes.
Melt the cheese: Lower the heat and stir in the shredded cheddar cheese, salt, pepper, and optional dry mustard or paprika until smooth.
Combine pasta and sauce: Toss the cooked pasta with the cheese sauce until fully coated.
Bake: Transfer everything to a buttered 9x13-inch baking dish. Bake at 350°F for 20–25 minutes, until bubbly and slightly golden.
Serve: Let rest for 5 minutes, then serve warm and enjoy the cheesy goodness!