My ricotta-stuffed cannelloni with creamy béchamel is a luxurious Italian dish that combines tender pasta tubes stuffed with a flavorful mixture of fresh spinach, ricotta cheese, Parmigiano, and fresh herbs, all blanketed in a velvety béchamel sauce. It’s creamy, cheesy, and makes the kitchen smell amazing. Pure comfort!
Spinach ricotta cannelloni with white sauce is the dish I reach for when I want a dinner to feels special without hovering over the stove all night. It’s a hearty vegetarian main that holds its own, no matter the occasion, and because you can assemble it a day ahead (or freeze it for up to three months!), it’s one of my favorite dinner recipes to make any night feel special. Bonus? Kids tend to love this one!

Quick Ingredient Notes
Can you use frozen spinach? My vote is still no. Fresh spinach gives the filling a cleaner, greener flavor and a better texture. If frozen is all you have, thaw it completely and squeeze it bone-dry in a clean kitchen towel before mixing so your filling doesn’t turn watery.
I often keep jars of my homemade San Marzano marinara in the fridge, but when I run out, my go-to store-bought jarred sauce is Rao’s, hands down.
For ricotta, I recommend whole milk. It’s creamier and richer than part-skim. If yours looks watery, let it drain in a fine-mesh strainer (or on paper towels) for about 15 minutes.
Make the Spinach-Ricotta Filling



The spinach ricotta cannelloni filling comes together quickly, but is packed with flavor from the herbs, lemon zest, and of course, nutmeg.
Cook and Stuff the Pasta
Quick tip: Be sure to cook the cannelloni in well-salted water until just al dente. Drain and toss with olive oil so they don’t stick.
To make the béchamel, you’ll start by melting butter in a saucepan, then whisking in flour. Cook until pale golden, then slowly whisk in the warm milk and bring to a simmer.



A Couple Tips For Filling Cannelloni
- Spoon the filling into a zip-top bag, snip a corner, and pipe it into each tube. A small spoon works too; it’s just slower.
- Don’t overstuff. Fill the tubes snugly but not packed, or they can split as the fillings puffs in the oven.


Easy Ways to Make It Your Own
- Mushroom: Fold sautéed mushrooms into the filling. Sliced shiitakes are my favorite!
- Extra cheesy: Stir grated Gruyère or fontina into the ricotta mixture.
- Add meat: Brown ½ lb Italian sausage or ground beef, let it cool slightly, then fold it into the filling.

Make It A Complete Meal
Shower each plate of spinach ricotta cannelloni with extra grated Parmesan and a few torn basil leaves. My fresh and peppery arugula salad is the perfect contrast for all that creamy richness, so it’s my go-to side. And because no Italian dinner is complete without something to mop up extra sauce, add a tray of crispy, cheesy garlic bread with anchovy butter.
Planning a full menu for a Sunday supper or holiday meal? End the meal with my make-ahead cannoli cream parfaits, which you can prep in the morning and forget about until dessert.

A hearty, cheesy vegetarian dinner that wins over everyone at the table, kiddos included! If you make this spinach and ricotta cannelloni recipe, I’d love it if you’d leave a rating and a quick review below!
And make sure to sign up for our newsletter and follow along on Instagram, TikTok, YouTube, Pinterest, and Facebook for more Well Seasoned recipes! Don’t forget to tag us on social channels when you make a recipe at #wellseasonedstudio and upload your photos below! We love seeing what you’re up to in the kitchen!
Tell Us What You Think!
If you make this recipe, don’t forget to leave a review and rating—we value your feedback and it helps us keep creating (and sharing!) free recipes. Your support means the world!
Rate this RecipeStuffed Cannelloni with Spinach and Creamy Béchamel
Equipment
Ingredients
For the Cannelloni
- 2 Tbsp (30ml) extra virgin olive oil
- 2 medium shallots, finely chopped
- 1 tsp Kosher salt, divided
- 4 medium garlic cloves, finely chopped
- ¼ tsp crushed red pepper flakes
- 10 ounces (284g) fresh baby spinach (packages are often 5oz or 6 oz – I use two, regardless of the size)
- ½ cup tightly packed basil leaves, thinly sliced
- 2 Tbsp fresh oregano, roughly chopped
- 24 oz (3 cups) whole milk ricotta cheese
- ¾ cup (75g) grated Parmesan cheese, use vegetarian Parmesan, if needed
- 1 large egg yolk
- 1 tsp fresh lemon zest, from about 1 medium lemon
- ½ tsp freshly ground black pepper
- ¼ tsp grated nutmeg
- 1 (8oz; 250g) package store-bought cannelloni tubes
- 2 cups (16oz) store-bought or homemade marinara sauce (for store-bought, we recommend Rao’s)
For the Béchamel Sauce
- 4 Tbsp (57g) unsalted butter
- 3 Tbsp (23g) all-purpose flour
- 3 cups (710ml) milk, warmed slightly
- 2 garlic cloves, smashed and peeled
- ¼ cup (25g) grated Parmesan cheese, use vegetarian Parmesan, if needed
- ¼ tsp grated nutmeg
- Pinch of cayenne pepper
- ½ tsp Kosher salt
- ¼ tsp freshly ground black pepper
Instructions
- Sweat the shallot. Heat 2 Tbsp olive oil in a skillet over medium heat. Add the shallots and cook until soft and translucent, 2-3 minutes. Season with ½ tsp Kosher salt, then add chopped garlic and ¼ tsp red pepper flakes, then cook 1 minute more.
- Cook the spinach. Add fresh spinach to the pan, season with ½ tsp Kosher salt, then cook until wilted, about 2 minutes. Remove from the heat, then add ½ cup sliced basil leaves and 2 Tbsp chopped fresh oregano. Allow to cool slightly.
- Make the ricotta cheese mixture. In a large bowl, combine 24oz ricotta cheese, ¾ cup grated Parmesan, 1 egg yolk, 1 tsp fresh lemon zest, ½ tsp black pepper, and ¼ tsp grated nutmeg. Stir until well mixed. Add the cooled spinach mixture, then stir again until thoroughly mixed.
- Boil the cannelloni shells. Bring a large pot of salted water to a rapid boil. Blanch the pasta tubes until al dente according to package instructions, then drain. It can be helpful to toss the cooked pasta with a little olive oil to prevent sticking while you fill them.
- Stuff the pasta tubes. Place filling in a large Ziploc bag, then cut off the corner and pipe the filling into the pasta tubes. You can also use a spoon to stuff the pasta, if preferred.
- Assemble. Preheat an oven 350°F/175°C. Spoon 2 cups of marinara sauce along the bottom of a 9×13 baking dish. Place stuffed cannelloni on top in a single layer.
- Make the béchamel. Melt 4 Tbsp unsalted butter over medium heat in a saucepan. When melted, add 3 Tbsp all-purpose flour, then whisk until the flour is a light golden brown, about 3 minutes. You don’t want the flour getting too dark. Quickly whisk in 3 cups of warm milk, then increase the heat to medium-high. Bring to a simmer, then continue to cook and whisk for another 3 minutes. Reduce the heat to low, add smashed garlic cloves, then cook until thick, velvety, and smooth, about 8-10 minutes. Stir in ¼ cup grated Parm, ¼ tsp grated nutmeg, a pinch of cayenne, ½ tsp Kosher salt, and freshly cracked black pepper, to taste.
- Bake the cannelloni. Discard the garlic cloves, then pour the béchamel on top of the pasta. If not baking immediately, cover tightly, then refrigerate until needed. Otherwise, bake covered for 35 minutes.
- Broil, then serve. Carefully transfer the dish under a broiler set to high for 1-2 minutes total, just to crisp the edges and brown the top of the pasta. Allow to rest for 10 minutes before serving with additional grated Parmesan and fresh basil leaves.
Notes
- Make ahead: Assemble (don’t bake) and refrigerate up to 1 day. Bake as directed when ready.
- Storage & reheating: Refrigerate leftovers up to 3 days. Reheat covered at 350°F/175°C until warmed through, or microwave individual portions.
- Freezing: Freeze before or after baking for up to 3 months. Thaw overnight before reheating.
Nutrition
Photography by: Jo Harding.



Let us know your thoughts!