Bring a large pot of water to boil and season with salt. Cook pasta according to the box instructions. Drain completely once pasta is cooked.
While pasta is cooking, grate cheese and prepare the cheese sauce.
Melt butter in a large pot over medium heat.
Whisk in flour and once it's combined with butter, start pouring in milk while constantly stirring. Keep whisking until all incorporated. Let the milk heat through until thickened, while slowly stirring from time to time.
Cut cream cheese into small pieces and add it to the pot. Stir and let cream cheese mix into the sauce.
Start adding the grated cheeses, one handful at a time, while slowly stirring and letting it melt.
Season with paprika, salt, and pepper.
Once all cheese is melted and smooth, add pasta. Stir until all completely combined. Let it cook on medium-low heat for just a couple of minutes and take off heat. The point is to just heat the mac and cheese through after adding the pasta.
Video
Notes
*Read the post to learn how to make this mac and cheese gluten free and/or lactose free!
Remember:Never let the cheese sauce or mac and cheese boil! Cook the cheese sauce over medium to medium-low heat to let the milk heat through and the cheese melt. After adding the pasta, you will only cook for additional couple of minutes to heat up the pasta.
Reheating: You can also reheat the whole pot on stove-top. Make sure to reheat it over medium-low heat and add about 1/4-1/3 cup of milk. Cover the pot as mac and cheese reheats and stir every few minutes.
When reheating individual portions in the microwave, add a couple of tablespoons of milk to the bowl with pasta and use a microwave cover if you have one. Reheat the mac and cheese in 30-45 second increments, stirring in between. Make sure to reheat only until heated through.