Quick Recipe Version (TL;DR)
Quick Ingredients
- Pasta: 24 jumbo pasta shells, approximately 8 ounces (225 g), plus 4 extra shells in case any tear.
- Roasted garlic: 2 medium heads garlic and 1 tablespoon olive oil.
- Filling: 15 ounces (425 g) whole-milk ricotta, 10 ounces (285 g) frozen chopped spinach, thawed and squeezed very dry, and 1 large egg.
- Cheeses: 2 cups (225 g) shredded low-moisture mozzarella, divided, and 1 1/4 cups (125 g) finely grated Parmesan, divided.
- Herbs and seasoning: 3 tablespoons chopped fresh parsley, divided; 2 tablespoons chopped fresh basil; 1/8 teaspoon ground nutmeg; 1 teaspoon fine salt, divided; and 1/2 teaspoon black pepper, divided.
- Cream sauce: 2 tablespoons (28 g) unsalted butter, 2 tablespoons (16 g) all-purpose flour, 1 1/2 cups (360 ml) whole milk, and 1 cup (240 ml) heavy cream.
- Pasta water: 3 quarts (2.8 liters) water and 1 tablespoon fine salt.
Do This
- 1. Heat the oven to 400°F (200°C). Trim the garlic heads, drizzle with the olive oil, wrap in foil, and roast for 45 minutes.
- 2. Boil the shells in the salted water for 2 minutes less than the package directs. Drain, rinse briefly with cool water, and separate on a tray.
- 3. Mix the ricotta, squeezed spinach, egg, 1 cup mozzarella, 1/2 cup Parmesan, 2 tablespoons parsley, basil, nutmeg, 1/2 teaspoon salt, and 1/4 teaspoon pepper.
- 4. Mash the roasted garlic. Melt the butter, whisk in the flour for 1 minute, then gradually whisk in the milk and cream. Simmer gently for 5 minutes; stir in the garlic, 1/2 cup Parmesan, and the remaining salt and pepper.
- 5. Reduce the oven to 375°F (190°C). Spread 1 cup sauce in a 9-by-13-inch baking dish. Fill 24 shells with approximately 2 tablespoons filling each and arrange them over the sauce.
- 6. Spoon the remaining sauce around and over the shells. Top with the remaining 1 cup mozzarella and 1/4 cup Parmesan. Cover with foil and bake for 25 minutes; uncover and bake for 15 minutes more.
- 7. Rest for 10 minutes, then sprinkle with the remaining 1 tablespoon parsley and serve.
Why You’ll Love This Recipe
- Comfort food with a little elegance: Tender pasta, a creamy spinach filling, and a golden cheese topping make this a lovely family dinner or company-worthy main course.
- Mellow, sweet garlic flavor: Roasting transforms two whole heads of garlic into a soft, buttery base for the cream sauce.
- A filling that stays creamy: Whole-milk ricotta, well-drained spinach, and just enough egg give the shells a tender, cohesive center.
- Easy to prepare ahead: Assemble the dish the day before, then bake it when you are ready to eat.
Grocery List
- Produce: 2 medium heads garlic, 1 small bunch fresh parsley, 1 small bunch fresh basil, and one 10-ounce package frozen chopped spinach.
- Dairy: One 15-ounce container whole-milk ricotta, 8 ounces low-moisture mozzarella, at least 4 1/2 ounces Parmesan, whole milk, heavy cream, unsalted butter, and 1 large egg from the refrigerated section.
- Pantry: 1 box jumbo pasta shells containing at least 28 shells, olive oil, all-purpose flour, ground nutmeg, fine salt, and black pepper.
Full Ingredients
For the Roasted Garlic
- 2 medium heads garlic, loose papery outer layers removed
- 1 tablespoon (15 ml) olive oil
For the Pasta
- 24 jumbo pasta shells, approximately 8 ounces (225 g), plus 4 extra shells to allow for breakage; shell size varies by brand
- 3 quarts (2.8 liters) water
- 1 tablespoon fine salt, for the cooking water
For the Spinach and Ricotta Filling
- 15 ounces (425 g) whole-milk ricotta; drain off any visible liquid before measuring
- 10 ounces (285 g) frozen chopped spinach, weighed before thawing, then thawed and squeezed very dry
- 1 cup (112 g) shredded low-moisture mozzarella
- 1/2 cup (50 g) finely grated Parmesan
- 1 large egg
- 2 tablespoons finely chopped fresh parsley
- 2 tablespoons finely chopped fresh basil
- 1/8 teaspoon ground nutmeg
- 1/2 teaspoon fine salt
- 1/4 teaspoon freshly ground black pepper
For the Roasted Garlic Cream Sauce
- All the roasted garlic cloves from the 2 heads above
- 2 tablespoons (28 g) unsalted butter
- 2 tablespoons (16 g) all-purpose flour
- 1 1/2 cups (360 ml) whole milk
- 1 cup (240 ml) heavy cream
- 1/2 cup (50 g) finely grated Parmesan
- 1/2 teaspoon fine salt
- 1/4 teaspoon freshly ground black pepper
For Topping and Finishing
- 1 cup (113 g) shredded low-moisture mozzarella
- 1/4 cup (25 g) finely grated Parmesan
- 1 tablespoon finely chopped fresh parsley

Step-by-Step Instructions
Step 1: Roast the garlic until soft and sweet
Heat the oven to 400°F (200°C) with a rack in the center. Slice approximately 1/4 inch from the top of each garlic head to expose the cloves. Place the heads cut-side up on a piece of aluminum foil, drizzle evenly with the 1 tablespoon olive oil, and seal the foil into a loose packet.
Set the packet in a small ovenproof dish and roast for 45 minutes, until the cloves are golden and soft enough to mash easily. Let cool for 5 minutes before handling. If the cloves are still firm, roast for another 5 to 10 minutes. While the garlic roasts, prepare the pasta and filling.
Step 2: Cook the shells just shy of al dente
Bring 3 quarts water to a boil in a large pot. Add 1 tablespoon fine salt, then gently add the shells and extras. Cook for 2 minutes less than the package’s recommended al dente time; for example, cook for 10 minutes if the package specifies 12 minutes. Stir gently a few times to keep the shells from nesting together.
Drain carefully and rinse briefly under cool water to stop the cooking. Drain again, then spread the shells in a single layer on a large tray. Choose the 24 most intact shells for stuffing. The pasta should be flexible enough to fill but still slightly firm, since it will finish cooking in the sauce.
Step 3: Mix the spinach and ricotta filling
Place the thawed spinach in a clean kitchen towel and squeeze firmly over the sink until very little liquid comes out. Break up the compacted spinach with your fingers so it distributes evenly through the filling.
In a large bowl, stir together the ricotta, spinach, 1 cup mozzarella, 1/2 cup Parmesan, egg, 2 tablespoons parsley, basil, nutmeg, 1/2 teaspoon salt, and 1/4 teaspoon pepper. Mix just until evenly combined. Keep the filling refrigerated if the garlic is not quite ready.
Step 4: Make the roasted garlic cream sauce
Squeeze the softened garlic cloves from their skins into a small bowl. Mash thoroughly with a fork, adding 2 tablespoons of the measured milk to help form a smooth paste.
Melt the butter in a medium saucepan over medium-low heat. Whisk in the flour and cook for 1 minute, whisking constantly without letting it brown. Slowly whisk in the remaining milk, followed by the heavy cream. Bring to a gentle simmer over medium heat, then reduce the heat to low and cook for 5 minutes, stirring frequently, until the sauce lightly coats the back of a spoon.
Whisk in the roasted garlic paste. Remove the pan from the heat and stir in 1/2 cup Parmesan, 1/2 teaspoon salt, and 1/4 teaspoon pepper. The sauce should be pourable rather than thick like a dip; it will thicken further in the oven.
Step 5: Fill and arrange the shells
Reduce the oven temperature to 375°F (190°C). Spread 1 cup of the warm cream sauce across the bottom of a 9-by-13-inch baking dish with a capacity of approximately 3 quarts.
Divide the filling evenly among 24 shells, using approximately 2 tablespoons per shell. A small spoon or a piping bag with a wide opening makes this easy. Arrange the shells opening-side up in the baking dish, fitting them snugly without crushing them. Four rows of six usually work well.
Spoon all the remaining sauce over and between the shells, leaving some of the filled openings visible. Sprinkle evenly with the remaining 1 cup mozzarella and 1/4 cup Parmesan.
Step 6: Bake until golden and bubbling
Cover the dish with foil, tenting it slightly so it does not press against the cheese. Bake at 375°F (190°C) for 25 minutes. Remove the foil and bake for 15 minutes more, until the sauce bubbles around the edges and the cheese has golden patches.
The filling in a center shell should reach 165°F (74°C) on an instant-read thermometer. If the center needs more time, loosely cover the dish and continue baking in 5-minute increments. For extra browning, broil the finished dish for 1 to 2 minutes, watching constantly and only if your baking dish is broiler-safe.
Step 7: Rest, garnish, and serve
Let the shells rest uncovered for 10 minutes. This gives the filling time to settle and lets the sauce thicken slightly while staying creamy. Sprinkle with the remaining 1 tablespoon parsley, then serve four shells per person with a generous spoonful of sauce.
A crisp green salad with a lemony dressing makes a refreshing partner. Add crusty bread if you would like something to scoop up the last of the roasted garlic cream sauce.
Pro Tips
- Dry spinach is the key to a creamy filling. Excess moisture can make both the filling and the sauce watery. Squeeze until the spinach feels almost dry to the touch.
- Grate the cheeses yourself when possible. Freshly grated Parmesan dissolves more smoothly into the sauce, and freshly shredded mozzarella melts into a more even topping.
- Keep the sauce at a gentle simmer. A hard boil can scorch the dairy or make the finished sauce less smooth. Stir in the Parmesan off the heat.
- Do not overfill the shells. Divide the filling among all 24 shells before adding any leftover spoonfuls to individual shells.
- Keep a few spare shells. Jumbo shells occasionally split during boiling. The extras let you choose the best ones without worrying about a small tear.
Variations
- Use fresh spinach: Replace the frozen spinach with 1 pound (450 g) fresh spinach. Wilt it in a covered pot with 2 tablespoons water for 3 to 5 minutes, then cool, squeeze very dry, and chop finely.
- Add mushrooms: Cook 8 ounces (225 g) finely chopped cremini mushrooms in 1 tablespoon olive oil over medium-high heat for 8 to 10 minutes, until their moisture has evaporated. Cool and stir into the filling. Fill the shells a little more generously to accommodate the extra volume.
- Add gentle heat: Stir 1/4 teaspoon crushed red pepper flakes into the cream sauce with the roasted garlic.
Storage & Make-Ahead
Refrigerate leftovers: Transfer to an airtight container and refrigerate within 2 hours of cooking. Keep for up to 4 days. Reheat individual portions, loosely covered, in the microwave in 60-second intervals until the center reaches 165°F (74°C). For oven reheating, place in a baking dish with 1 tablespoon milk per serving, cover, and heat at 350°F (175°C) for 20 to 30 minutes, or until heated through.
Assemble ahead: Prepare the dish through assembly, allowing the sauce and other cooked components to cool before combining. Cover and refrigerate for up to 24 hours. Bake directly from the refrigerator in a suitable baking dish at 375°F (190°C) for 40 minutes covered, then uncover and bake for 15 to 20 minutes, until the center reaches 165°F (74°C). Follow your baking dish manufacturer’s guidance about moving a cold dish into a hot oven.
Freeze: Freeze the cooled, unbaked casserole in a freezer-safe baking dish, tightly wrapped, for up to 2 months. Thaw in the refrigerator for 24 to 48 hours, then bake using the refrigerated make-ahead directions. The cream sauce may be slightly less silky after freezing but will still be delicious.
Nutrition (per serving)
Estimated for one-sixth of the recipe, including sauce and topping. Values vary with cheese brands, shell size, and salt absorbed during cooking; spare shells are not included.
Calories: 735 kcal | Carbs: 44g | Protein: 35g | Fat: 47g | Saturated Fat: 27g | Fiber: 3g | Sugar: 6g | Sodium: 1120mg | Cholesterol: 174mg
