Bring a large pot of salted water to a boil. Cook the pasta to al dente according to the package directions. Make sure to reserve ½ cup of starchy cooking water before draining the pasta.
In a medium skillet or saucepan (large enough to hold all of the pasta), melt the butter over medium-high heat. Add the flour and whisk until the roux forms. Cook the roux, stirring constantly, for 1 minute.
Slowly add the chicken stock, whisking constantly to ensure that no lumps form. Bring the mixture to a simmer and cook it until it has thickened slightly– about 5 minutes.
Next, add the cream cheese, garlic powder, paprika, and salt. Stir the sauce until the cream cheese has melted.
Next, add the cheddar cheese one handful at a time, stirring to melt the cheese fully between each addition.
When all of the cheese has melted, remove the pan from the heat and add the noodles. Stir to combine. If the mac and cheese becomes too dry, add a splash of reserved pasta water. Taste and season with additional salt if needed.
Notes
Salt the water before boiling the noodles.
Reserve some of the pasta water in case the sauce needs a little more liquid.
Whisk constantly when adding the chicken stock to the roux so no lumps form.
Swap the cream cheese for heavy cream or sour cream. Just use 4 ounces in its place.
Add the cheddar cheese one handful at a time, stirring between each addition so the cheese melts evenly throughout the pasta instead of sitting on top.
Store leftovers in an airtight container in the refrigerator for up to 5 days.
This nutrition information is based on the exact products I used in this recipe. Brands and sizes of products could alter exact nutrition and should always be calculated independently.