Preheat oven to 350°F (175°C) and lightly grease a 9x13-inch baking dish.
Cook macaroni in salted water until just al dente. Drain and set aside.
Make the roux: In a saucepan over medium heat, melt butter. Whisk in flour and cook for 1–2 minutes.
Add milk: Gradually whisk in warm milk. Stir until the mixture thickens slightly.
Add cheese: Lower heat, add cubed Velveeta (and cheddar if using). Stir until melted and smooth.
Combine: Mix cooked pasta with the cheese sauce. Pour into prepared baking dish.
Top and bake: Sprinkle breadcrumbs and paprika on top if using. Bake uncovered for 20–25 minutes or until golden and bubbly.
Rest: Let sit for 5–10 minutes before serving for best texture.