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 slightly different amounts of 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 dried pasta like elbow macaroni, shells or penne (450g)
4 cups milk, whole milk is best (945ml)
4 tablespoons butter (56g)
3 tablespoons all-purpose flour (24g)
½ teaspoon fine sea salt, plus more for cooking pasta
½ teaspoon fresh ground black pepper
⅛ teaspoon grated nutmeg, optional
⅛ teaspoon mustard powder, like Coleman’s, optional
2 ounces cream cheese, softened, optional (56g)
1 pound cheese, shredded, 4 cups, try sharp white cheddar, Gruyère, Monterey Jack, or American (450g)
1 ounce finely grated Parmigiano-Reggiano, ½ cup, optional (28g)
1Cook 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.
2Warm milk: Warm the milk in a small saucepan, turn off the heat, cover with a lid, and set aside.
3Make the sauce: Melt the butter in a large, high-sided pot or Dutch oven over medium heat. Sprinkle the 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.
4While 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.
5Season the sauce with ¼ teaspoon salt, ¼ teaspoon ground black pepper, nutmeg (optional), and mustard powder (optional).
6Turn the heat to low, then stir in the 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 ¼ teaspoon or more of salt). If the flavor does not pop, add a bit more salt.
7To 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).