This is our quick and easy homemade macaroni and cheese recipe. It’s extra saucy and very creamy. It’s made on the stovetop and does not require any baking. That’s not to say that you could not bake it. We’ve shared how in the recipe below. Cream cheese is optional but adds tanginess and even more creaminess to the sauce.
*In the video, we add the cream cheese after the cheddar, but since sharing and testing again, we now prefer to the cream cheese before the cheddar. Also, we use more butter, flour, and milk. Since posting that video, we received feedback that there was too much sauce, and after testing it ourselves, we agreed, so we’ve adjusted the recipe below. The method is the same, so you can still use the video as a guide!
1 pound (450g) dried pasta like elbow macaroni, shells or penne
4 cups (945ml) milk, whole milk is best
4 tablespoons (56g) butter
3 tablespoons (24g) all-purpose flour
1/2 teaspoon fine sea salt, plus more for cooking pasta
1/2 teaspoon fresh ground black pepper
1/8 teaspoon grated nutmeg, optional
1/8 teaspoon mustard powder, like Coleman’s, optional
2 ounces (56g) cream cheese, softened, optional
1 pound (450g) cheese, shredded, try sharp white cheddar, or a mix of cheddar, Gruyere, Monterey Jack, American, or other melty cheese
Cook Pasta: Bring a pot of salted water to a boil (I use 1 tablespoon of salt in the water). Add the pasta and cook according to the package directions, but cook for 1 minute less than the package suggests. Save 1 cup of starchy pasta water, drain the pasta, and then rinse with cool water so it stops cooking. Set aside.
Warm Milk: Warm 4 cups of milk in a small saucepan, turn off the heat, cover with a lid, and set aside.
Make the creamy cheese sauce: Melt 4 tablespoons of butter in a large, high-sided pot or Dutch oven over medium heat.
Sprinkle 3 tablespoons of flour over the melted butter and whisk it into the butter (it will be thick). Continue to whisk until it smells toasted and looks light brown, 1 to 2 minutes.
While whisking, pour in a third of the warm milk. Whisk until smooth (it will thicken), then whisk in another third until smooth, and finally whisk in the rest. Continue to cook, constantly whisking until the sauce begins to simmer and thickens (the sauce only thickens after it has reached a simmer). Simmer for about 1 minute.
Season the sauce with 1/4 teaspoon salt, 1/4 teaspoon ground black pepper, 1/8 teaspoon finely grated nutmeg (optional), and 1/8 teaspoon mustard powder (optional).
Turn the heat to low, then stir 2 ounces of cream cheese. When the cream cheese is mostly melted into the sauce, stir in the shredded cheese a handful at a time until it melts into the sauce. Taste, and then season with more salt and black pepper (I usually add 1/4 teaspoon or more of salt). If the flavor does not pop, add a bit more salt.
To finish: Stir in the drained and rinsed pasta. It may look like there is too much sauce, don’t worry. The pasta absorbs the extra moisture as it sits. Take the pot off the heat, then cover with a lid. Leave for 5 minutes, stir once more, and then serve. If the sauce is too thick, add a splash of the reserved pasta water to thin it out slightly (I love to do this when it’s been sitting for a bit).