
Spinach Artichoke Pasta Casserole
A creamy, cheesy baked pasta casserole loaded with fresh spinach and tender artichoke hearts. The pasta cooks directly in a rich cream sauce enriched with mozzarella and Parmesan, creating a comforting one-dish meal that's simple enough for weeknight dinner but impressive enough for guests.
- Prep
- 15 min
- Cook
- 35 min
- Wait
- 10 min
- Total
- 1 hr
- Makes
- One 9×13-inch (23×33 cm) casserole, 6 servings
Steps
Before you start
- Preheat your oven to 375°F (190°C)
- Drain the artichoke hearts well and chop them into bite-sized pieces
- Measure out all ingredients before you begin—the casserole comes together quickly
- Use fresh spinach if possible; thaw frozen spinach completely and squeeze dry
Prepare ingredients
- Drain and chop the artichoke hearts into bite-sized pieces (about ¾ inch).
- Chop the fresh spinach coarsely.
- Mince the garlic.
- Have the cheeses measured and ready.
+ Show details− Hide details
Tip: Prep everything before you start cooking—the casserole assembly is quick and you don't want to scramble while the sauce heats.
Sauté garlic and spinach
- In a 12-inch skillet, melt the butter over medium heat.
- Add the minced garlic and cook for about 1 minute, stirring constantly, until fragrant.
- Add the chopped spinach in batches, stirring after each addition until it wilts and releases its liquid, about 3–4 minutes total.
- The spinach should be fully wilted and most of the liquid evaporated; if there's excess liquid, tilt the pan and press the spinach against the side to drain it.
+ Show details− Hide details
Ready when: Spinach is bright green, wilted, and excess moisture has evaporated
Tip: Don't skip draining the spinach—too much water will make the casserole watery. Press it gently with the back of the spoon.
Add cream and milk
- Pour the heavy cream and whole milk into the skillet with the spinach.
- Increase the heat to medium-high and bring the mixture to a gentle simmer, stirring occasionally, about 2–3 minutes.
+ Show details− Hide details
Ready when: Small bubbles break the surface around the edges; no full rolling boil needed
Tip: Keep the heat moderate—a slow, gentle simmer prevents the cream from curdling and the sauce from breaking.
Melt in cheeses
- Remove the skillet from heat.
- Add the shredded mozzarella and grated Parmesan in handfuls, stirring gently with a wooden spoon until fully melted and smooth.
- Do not return to heat; the residual warmth melts the cheese.
+ Show details− Hide details
Ready when: Cheese is completely melted and sauce is smooth with no lumps
Tip: Adding cheese off the heat prevents it from becoming grainy. Stir slowly and patiently—rushing creates a broken, separated sauce.
Season the sauce
- Stir in 1.5 teaspoons of salt, several grinds of fresh black pepper, the nutmeg, and lemon zest (if using).
- Taste and adjust seasoning—the sauce should be well-seasoned and warming on the tongue.
+ Show details− Hide details
Ready when: Sauce smells fragrant and seasoning is evenly distributed
Tip: Taste before the final step—once you add the pasta, it's harder to adjust flavor. The sauce should taste slightly salty on its own.
Add artichokes and pasta
- Fold the chopped artichoke hearts into the sauce, stirring to coat evenly.
- Add the uncooked penne pasta and stir well to coat every piece with sauce.
- The pasta should be evenly distributed and mostly submerged in the cream mixture.
+ Show details− Hide details
Ready when: Pasta is coated in sauce and distributed evenly throughout
Tip: Stir well so the uncooked pasta doesn't clump together. All of it should be in contact with the sauce, which will cook it evenly in the oven.
Transfer to baking dish
- Pour the entire pasta-sauce mixture into a 9×13-inch (23×33 cm) baking dish.
- Spread it in an even layer, pressing gently so the pasta is mostly submerged.
- Cover the dish tightly with aluminum foil.
+ Show details− Hide details
Ready when: Mixture is in an even layer in the baking dish
Tip: Foil prevents the top from drying out during baking while the pasta cooks in the cream below.
Bake coveredOven 375°F / 190°C
- Place the covered baking dish in a preheated 375°F (190°C) oven.
- Bake for 25 minutes, stirring once halfway through.
- After 25 minutes, carefully remove the foil.
+ Show details− Hide details
Ready when: Pasta is partially tender when stirred at the midpoint; some liquid remains
Tip: Stir gently at the halfway point to prevent the bottom from sticking and to cook the pasta evenly throughout.
Finish baking uncoveredOven 375°F / 190°C
- Return the uncovered casserole to the oven and bake for 10 more minutes.
- The top should become light golden brown and the sauce should bubble gently around the edges.
- The pasta should be tender but not mushy, and the cream should thicken slightly as it bakes.
+ Show details− Hide details
Ready when: Top is light golden, edges bubble gently, pasta is tender when pierced with a fork
Tip: Don't overbake—the pasta continues to soften as it cools. The casserole is done when the pasta yields easily to a fork but still has slight firmness.
Rest before serving
- Remove the casserole from the oven and let it rest for 5–10 minutes at room temperature.
- This allows the cream to set slightly, making the casserole easier to portion.
- Stir gently with a spoon before serving.
+ Show details− Hide details
Ready when: Casserole is warm throughout and sauce has thickened slightly
Tip: Don't skip the rest—it's the difference between a creamy casserole and a soupy one on the plate.
Good to know
Tips
- Fresh spinach shrinks dramatically when cooked—don't be intimidated by the 5 cups raw; it reduces to about ½ cup cooked.
- For a more browned top, increase the oven temperature to 400°F (204°C) for the uncovered baking stage, watching carefully so it doesn't over-brown.
- This casserole is vegetarian as written, but 6–8 oz (170–225 g) of crumbled cooked sausage or bacon stirred in at step 6 makes it heartier.
- Serve with crusty bread, a simple arugula salad dressed with lemon vinaigrette, and a dry white wine like Pinot Grigio.
Make ahead
Assemble the casserole completely (through step 6), cover with foil, and refrigerate for up to 8 hours. Bake as directed, adding 5 minutes to the covered baking time since it will start cold from the refrigerator.
Storage & reheating
Room temperature: up to 2 hours (loosely covered). Refrigerator: up to 4 days in an airtight container. Freeze: up to 3 months in a freezer-safe container (thaw overnight in the fridge before reheating). Reheat: covered at 325°F (163°C) for 20–25 minutes until heated through; add a splash of cream or milk if it seems dry.
Substitutions
- fresh spinach, packed → 9 oz (255 g) frozen spinach, thawed and squeezed completely dry. Use the same weight of thawed spinach. It's more concentrated than fresh, so you'll need less. Squeeze it very well in a clean kitchen towel or cheesecloth to remove excess moisture.
- penne pasta, uncooked → rigatoni, farfalle, or large shells (any 12 oz / 340 g short pasta shape). Choose pasta with grooves or ridges that will hold the creamy sauce. Avoid very thin pasta like angel hair, which may overcook.
- whole milk mozzarella, shredded → whole milk ricotta cheese, stirred smooth (about 1.75 cups / 400 g). Ricotta adds creaminess and a slightly different texture. The casserole will be denser but equally delicious. Mix ricotta with the cream before adding Parmesan.
- heavy cream → half-and-half or crème fraîche (2 cups / 480 ml). Half-and-half makes a lighter casserole; crème fraîche adds subtle tanginess. You may need to increase the Parmesan by 2 tablespoons for richer flavor if using half-and-half.





