Quick Recipe Version (TL;DR)
Quick Ingredients
- 28 jumbo pasta shells (cook 24; extra for breakage), plus 1 tbsp kosher salt for the water
- 2 tbsp extra-virgin olive oil, 4 garlic cloves (sliced), 1/2 tsp crushed red pepper (optional)
- 1 can (28 oz/796 g) crushed tomatoes, 1/2 tsp sugar, 1 tsp kosher salt, 1/2 tsp black pepper, 2 tbsp torn basil
- 15 oz (425 g) whole-milk ricotta (drained), 1 cup packed cooked spinach (well-squeezed), 3/4 cup (70 g) finely grated Parmesan, 1 large egg
- 1/2 cup thinly sliced basil, 1 tsp lemon zest (optional), 1/8 tsp ground nutmeg, 3/4 tsp kosher salt, 1/2 tsp black pepper
- 8 oz (225 g) fresh mozzarella (torn), 1/4 cup (20 g) grated Parmesan, 2 tbsp olive oil (for drizzling)
Do This
- 1) Heat oven to 400°F (200°C). Bring a large pot of water to a boil.
- 2) Make marinara: sauté garlic and red pepper in 2 tbsp oil (1 min). Add crushed tomatoes, sugar, salt, pepper; simmer 12–15 min. Stir in 2 tbsp basil. Spread 1½ cups in a 9×13-inch dish.
- 3) Salt boiling water (1 tbsp). Cook shells 9–10 min until just shy of al dente. Drain, rinse briefly, and toss with a little oil.
- 4) Mix filling: ricotta, spinach, Parmesan, egg, basil, lemon zest, nutmeg, salt, pepper.
- 5) Fill shells (about 2 tbsp each) and nestle open-side up into sauced dish.
- 6) Spoon remaining sauce over shells; top with mozzarella, 1/4 cup Parmesan, and drizzle 2 tbsp oil. Bake covered 15 min, uncover 10 min; broil 2–3 min to blister. Rest 5 min; garnish with basil.
Why You’ll Love This Recipe
- Classic comfort food with bright, fresh flavors from basil and a quick homemade marinara.
- Make-ahead friendly and perfect for feeding a crowd.
- Creamy ricotta and spinach filling meets golden, bubbly mozzarella on top.
- Simple techniques, big payoff—no special equipment required.
Grocery List
- Produce: Garlic, fresh basil (1 large bunch), baby spinach (8 oz) or frozen chopped spinach (10 oz), lemon (optional)
- Dairy: Whole-milk ricotta (15 oz), fresh mozzarella (8 oz), Parmesan cheese, 1 large egg
- Pantry: Jumbo pasta shells (about 10 oz), crushed tomatoes (28 oz), extra-virgin olive oil, kosher salt, black pepper, crushed red pepper flakes, granulated sugar, ground nutmeg
Full Ingredients
For the Quick Marinara
- 2 tbsp extra-virgin olive oil
- 4 garlic cloves, thinly sliced
- 1/2 tsp crushed red pepper flakes (optional, adjust to taste)
- 1 can (28 oz/796 g) crushed tomatoes
- 1/2 tsp granulated sugar
- 1 tsp kosher salt
- 1/2 tsp freshly ground black pepper
- 2 tbsp torn fresh basil leaves (plus more for garnish)
For the Pasta
- 28 jumbo pasta shells (you will fill about 24; cook extras in case of breakage) — about 10 oz (285 g)
- 1 tbsp kosher salt (for the pasta water)
- 1 tsp olive oil (to keep cooked shells from sticking)
For the Ricotta–Spinach–Basil Filling
- 15 oz (425 g) whole-milk ricotta, drained 10 minutes if very wet
- 1 cup packed cooked spinach, very well squeezed dry (from 8 oz fresh baby spinach cooked and squeezed, or 10 oz frozen chopped spinach thawed and squeezed)
- 3/4 cup (70 g) finely grated Parmesan cheese
- 1 large egg
- 1/2 cup thinly sliced fresh basil (lightly packed)
- 1 tsp finely grated lemon zest (optional but brightens the filling)
- 1/8 tsp ground nutmeg
- 3/4 tsp kosher salt
- 1/2 tsp freshly ground black pepper
For Assembly & Topping
- 8 oz (225 g) fresh mozzarella, torn into bite-size pieces
- 1/4 cup (20 g) finely grated Parmesan
- 2 tbsp extra-virgin olive oil, for drizzling
- Extra fresh basil leaves, to finish

Step-by-Step Instructions
Step 1: Preheat and set up
Preheat your oven to 400°F (200°C). Lightly oil a 9×13-inch (3.5 L) baking dish. Bring a large pot of water to a boil for the pasta. If your ricotta looks watery, line a bowl with a fine sieve or paper towel and let the ricotta drain while you start the sauce.
Step 2: Make the quick marinara
In a medium saucepan, warm 2 tbsp olive oil over medium heat. Add the sliced garlic and crushed red pepper; cook, stirring, just until fragrant and barely golden at the edges, about 45–60 seconds. Pour in the crushed tomatoes, then add the sugar, 1 tsp kosher salt, and 1/2 tsp black pepper. Simmer, uncovered, for 12–15 minutes, stirring occasionally, until slightly thickened and bright. Stir in 2 tbsp torn basil. Spread 1½ cups of the sauce over the bottom of the prepared baking dish and keep the rest warm for topping.
Step 3: Cook and cool the shells
Salt the boiling water with 1 tbsp kosher salt. Add the jumbo shells and cook until just shy of al dente, 9–10 minutes (they will finish in the oven). Drain well and rinse briefly under cool water to stop the cooking. Toss with 1 tsp olive oil to prevent sticking and lay them out on a tray to cool, open sides up.
Step 4: Mix the ricotta–spinach filling
In a large bowl, combine the drained ricotta, well-squeezed spinach, 3/4 cup Parmesan, egg, sliced basil, lemon zest (if using), nutmeg, 3/4 tsp kosher salt, and 1/2 tsp pepper. Mix until creamy and evenly combined. Taste and adjust seasoning. Transfer the filling to a piping bag or a large zip-top bag and snip a 1/2-inch opening, or keep a spoon handy for filling.
Step 5: Fill the shells
Pipe or spoon about 2 tablespoons of filling into each shell. Nestle the filled shells into the sauced baking dish, open side up, forming neat rows. You’ll use about 24 shells; save any extras in case a shell tears.
Step 6: Sauce, cheese, and drizzle
Spoon the remaining marinara evenly over the tops of the shells (leave some corners peeking out for texture). Scatter the torn fresh mozzarella over the dish, then sprinkle with 1/4 cup Parmesan. Drizzle 2 tbsp olive oil over everything for beautiful browning.
Step 7: Bake, broil, and finish
Cover the dish tightly with foil and bake for 15 minutes. Uncover and bake another 10 minutes, then switch to broil for 2–3 minutes until the mozzarella is blistered in spots and the shells are lightly golden at the edges. Let rest 5 minutes. Finish with more torn basil and a few grinds of black pepper before serving.
Pro Tips
- Undercook the pasta by 1–2 minutes so the shells hold their shape and don’t get mushy after baking.
- Ricotta texture matters: drain if watery for a rich, scoopable filling that won’t leak.
- Squeeze spinach extremely dry—wring it out in a clean towel. Excess moisture dilutes the filling.
- A piping bag (or zip-top bag) makes filling neat and fast, especially if shells are slightly firm.
- For deep browning, don’t drown the tops in sauce; leave some pasta edges exposed and finish under the broiler.
Variations
- Sausage marinara: Brown 8 oz (225 g) sweet or spicy Italian sausage, crumble into the marinara, and proceed.
- Mushroom and thyme: Sauté 8 oz (225 g) chopped cremini with 1 tbsp butter and 1 tsp thyme until browned; fold into the ricotta filling.
- Pesto swirl: Spoon 2–3 tbsp basil pesto over the sauced shells before adding mozzarella for an herby pop.
Storage & Make-Ahead
Refrigerate leftovers in an airtight container for up to 4 days. Reheat covered at 350°F (175°C) for 15–20 minutes, or until hot and bubbly. Make ahead: assemble up to the point of baking, cover tightly, and refrigerate up to 24 hours; add 5–10 extra minutes to the bake time. Freeze (unbaked) tightly wrapped for up to 2 months; bake from frozen at 375°F (190°C) covered for 45–55 minutes, then uncover 10–15 minutes to brown. You can also freeze leftovers (baked) for up to 2 months; thaw overnight and reheat as above.
Nutrition (per serving)
Approximate values: 610 calories; 31 g protein; 49 g carbohydrates; 29 g fat; 5 g fiber; 880 mg sodium. Values will vary based on brands and exact measurements.

