This warm, creamy, and slightly smoky Spinach Macaroni and Cheese is the kind of weeknight comfort food that feels indulgent but sneaks in a heap of bright, tender greens. Imagine a velvety white sauce built from two milks, anchored by sweet onion, and studded with sharp cheddar, smoked gouda, and tangy goat cheese. Folded together with perfectly cooked elbow macaroni and vibrant ribbons of spinach, it’s rich without being heavy and tastes like something you’d make when you want a hug on a plate.
Below you’ll find an easy-to-follow ingredient list, clear step-by-step instructions, and little tips to make this dish sing. The recipe yields a creamy pasta that’s great on its own, perfect alongside a crisp salad, or ideal as a side to roasted vegetables or a simple protein.
Ingredients

- 3 tablespoons unsalted butter
- ½ cup finely minced sweet onion
- ⅓ cup all purpose flour
- 2 cups whole milk
- 2 cups 2% milk
- Kosher salt and freshly ground black pepper, to taste
- 4 cups (4.5 ounces) fresh spinach leaves, cut into ½ inch strips
- 1 cup shredded sharp white cheddar cheese
- ⅔ cup shredded smoked gouda
- ⅓ cup crumbled goat cheese
- ¾ pound elbow macaroni, cooked according to package instructions
Why this version works
There are a few thoughtful choices that make this Spinach Macaroni and Cheese special. Using both whole milk and 2% milk adds body without making the sauce overly fatty. The minced sweet onion, gently cooked in butter, adds an aromatic sweetness that complements the cheeses. Smoked gouda brings a subtle smoke that plays beautifully with bright spinach ribbons and the tang of goat cheese. Lastly, finishing with fresh spinach keeps the color and texture popping, so each bite feels balanced.
Equipment
- Large pot for boiling pasta
- Large skillet or medium saucepan for the sauce
- Wooden spoon or heatproof spatula
- Whisk
- Colander
- Measuring cups and spoons
Step-by-step Instructions

-
Cook the macaroni.
Bring a large pot of salted water to a rolling boil. Add ¾ pound elbow macaroni and cook according to the package instructions until al dente. Drain the pasta in a colander and set aside. Reserve a small cup of the pasta cooking water in case you want to loosen the sauce later.
-
Sauté the onion in butter.
In a large skillet or medium saucepan over medium heat, melt 3 tablespoons unsalted butter. Add ½ cup finely minced sweet onion and cook, stirring frequently, until the onion becomes translucent and soft but not browned, about 4 to 6 minutes. Reduce heat slightly if the onion starts to brown too quickly.
-
Create the roux.
Sprinkle ⅓ cup all purpose flour over the cooked onion and butter. Whisk constantly for 1 to 2 minutes to cook the flour and form a smooth paste. This step removes any raw flour taste and helps the sauce thicken evenly.
-
Add the milks and thicken the sauce.
Gradually pour in 2 cups whole milk and 2 cups 2% milk while whisking to prevent lumps. Increase the heat to medium-high and continue to whisk gently until the mixture begins to thicken and bubbles form around the edges, about 5 to 7 minutes. Once thickened to a creamy consistency, reduce the heat to low.
-
Season the base.
Season the sauce with kosher salt and freshly ground black pepper to taste. Start conservatively with salt because the cheeses will add additional saltiness. Taste and adjust later after the cheeses are added.
-
Add the spinach.
Stir in 4 cups (4.5 ounces) fresh spinach leaves, cut into ½ inch strips. Cook briefly, stirring, until the spinach wilts and the leaves are tender, about 1 to 2 minutes. The spinach should be fully incorporated into the sauce and still bright green.
-
Incorporate the cheeses.
Remove the sauce from the heat. Add 1 cup shredded sharp white cheddar cheese, ⅔ cup shredded smoked gouda, and ⅓ cup crumbled goat cheese. Stir until the cheeses melt into a smooth, creamy sauce. If the sauce feels too thick, add a splash of the reserved pasta water, 1 tablespoon at a time, until you reach your desired consistency.
-
Combine with the cooked macaroni.
Add the drained elbow macaroni to the cheese and spinach sauce. Gently fold everything together with a wooden spoon or heatproof spatula until the pasta is fully coated and the spinach is evenly distributed. Taste and adjust seasoning with additional kosher salt and freshly ground black pepper as needed.
-
Serve.
Serve the Spinach Macaroni and Cheese immediately while it’s warm and creamy. Spoon into bowls or onto plates and enjoy. Leftovers can be refrigerated in an airtight container for up to 3 days; gently reheat on the stovetop over low heat with a splash of milk to revive creaminess.
Troubleshooting & Tips

- Preventing a grainy sauce: Always whisk thoroughly when adding milk to the roux, and keep the heat moderate so the sauce thickens slowly. Removing the sauce from direct high heat before adding cheese reduces the risk of separation.
- Adjusting thickness: If the sauce thickens too much while the pasta sits, stir in a small amount of reserved pasta water or extra milk to loosen it. If the sauce is too thin, keep it over low heat and stir until it reduces a bit.
- Cheese notes: Use freshly shredded cheeses for the best melting and texture. Pre-shredded cheeses can contain anti-caking agents that prevent smooth melting.
- Spinach timing: Add the spinach after the sauce has thickened so it wilts quickly without overcooking. This preserves a bright color and tender texture.
- Meal pairing: This dish is wonderful with a crisp green salad dressed in lemon vinaigrette, roasted vegetables, or simply sliced tomatoes to cut through the richness.
Variations
- Mushroom and Spinach: Sauté 8 ounces sliced mushrooms with the onion until golden, then proceed with the recipe for an earthy addition.
- Herb boost: Stir in 1 to 2 tablespoons of chopped fresh parsley or chives at the end for a herbaceous lift.
- Creamier finish: Increase the goat cheese to ½ cup for a tangier, silkier sauce.
- Baked version: Transfer the combined pasta and sauce to a baking dish, top with extra shredded cheddar, and bake at 375°F (190°C) until bubbly and golden, about 15 minutes.
Make-ahead and storage
You can prepare the sauce up to a day in advance and refrigerate it in an airtight container. Reheat gently on the stovetop and stir in cooked macaroni just before serving. Leftovers keep well for up to 3 days in the refrigerator. For reheating, add a splash of milk and stir over low heat until warmed through to restore creaminess.
Final thoughts
This Spinach Macaroni and Cheese is reliable, cozy, and full of flavor. It balances creamy, tangy, and smoky notes while giving you that fresh pop of green from the spinach. It’s a dish that hits comfort-food nostalgia and adult flavor sophistication at once—perfect for family dinners, casual gatherings, or nights when you simply want something satisfying and straightforward to make.
Give it a try the next time you crave a cheesy pasta that doesn’t feel overly heavy. With just a handful of steps and familiar pantry ingredients, you’ll have a comforting bowl of green-speckled, cheesy bliss in under an hour.

Spinach Macaroni and Cheese
Equipment
- Saucepan
- Whisk
- Knife
- Cutting Board
- Measuring cups and spoons
- Pot for pasta
Ingredients
- 3 tablespoons unsalted butter
- 1/2 cup sweet onion, finely minced
- 1/3 cup all-purpose flour
- 2 cups whole milk
- 2 cups 2% milk
- kosher salt to taste
- freshly ground black pepper to taste
- 4 cups fresh spinach leaves, cut into 1/2-inch strips (about 4.5 ounces)
- 1 cup shredded sharp white cheddar cheese
- 2/3 cup shredded smoked gouda
- 1/3 cup crumbled goat cheese
- 3/4 pound elbow macaroni, cooked according to package instructions
Instructions
- Bring a large pot of salted water to a boil and cook the elbow macaroni according to package directions until al dente; drain and set aside.
- In a large saucepan over medium heat, melt the butter. Add the finely minced sweet onion and sauté until softened, about 5 minutes.
- Whisk the flour into the onions and butter until the mixture is golden and combined, about 1 minute.
- Gradually whisk in the whole milk, then the 2% milk. Increase heat to medium-high and bring the sauce to a gentle boil, whisking constantly, until it is smooth and thickened, about 10 to 12 minutes.
- Season the sauce with kosher salt and freshly ground black pepper to taste.
- Add the spinach to the sauce and stir until wilted.
- Stir in the shredded cheddar, smoked gouda, and crumbled goat cheese until fully melted and the sauce is smooth.
- Add the cooked macaroni to the cheese sauce and stir until evenly coated. Taste and adjust seasoning if needed, then serve immediately.
Notes
- Stack spinach leaves and slice into 1/2-inch strips for even pieces.
- Use any combination of full-fat cheeses totaling 2 cups for best flavor.
