Crispy, fried pastry shells filled with a sweet, creamy ricotta cheese filling, often with a hint of vanilla and chocolate. A delightful Italian dessert perfect for two.

Cannoli are iconic Sicilian pastries consisting of tube-shaped fried pastry shells filled with sweetened ricotta cream. The name means 'little tubes' in Italian. Originating in Sicily, they were traditionally made for Carnevale celebrations but have become beloved year-round. The crispy shell with its creamy, slightly sweet filling and chocolate chip accents is one of the world's most recognized Italian desserts.
Cannoli deliver an extraordinary contrast of textures — the audible crunch of a fried shell against the cool, creamy ricotta filling is one of the great textural experiences in pastry. Made at home, they are exponentially better than anything from a box. The filling comes together in minutes, the shells fry beautifully, and the assembly is almost theatrical.
Cannoli are the showstopper end to any Italian-American dinner. Serve them after pasta, pizza, or a Sunday gravy. They're essential at Italian celebrations — weddings, baptisms, holidays — and make an unforgettable addition to a holiday dessert spread. They must be filled to order, which makes serving them at a dinner party delightfully theatrical.
Drain the ricotta overnight — this single step is non-negotiable. Keep shells unfilled until the moment of serving. Fry shells at exactly 350°F. Add mini chocolate chips and crushed pistachios to the filling for the full Sicilian experience.
The soul of the filling. Must be well-drained overnight in cheesecloth to remove excess whey — undrained ricotta creates a runny filling that soaks through the shell immediately. Whole-milk ricotta is significantly richer and better-tasting than part-skim.
Fried pastry tubes made from a wine-enriched dough rolled thin and wrapped around metal cannoli forms. The key is thin rolling (nearly translucent) and frying at precisely 350°F until golden and blistered. Too cool and they absorb oil; too hot and they burn.
Folded into the ricotta filling and pressed into the ends as garnish. The bitter-sweet chocolate against the sweet, creamy cheese is quintessential. Use the smallest chips available for the best distribution throughout the filling.
Crushed pistachios pressed into the ends of filled cannoli add color, crunch, and a nutty flavor that complements the sweet ricotta. Unsalted, raw pistachios with the skins removed give the cleanest green color and purest flavor.
Substitute mascarpone for up to half the ricotta for a richer, creamier filling with better stability for make-ahead situations. Candied orange peel can replace or supplement the chocolate chips for a more traditional Sicilian version. White wine in the shell dough can be replaced with marsala for a slightly richer, more complex flavor. For a quicker version, purchase pre-made cannoli shells from Italian specialty stores. Lemon zest can replace orange zest. Whipped cream folded into the filling in equal parts creates a lighter, airier texture.
In a large bowl, whisk together 1 cup all-purpose flour, 1 tablespoon granulated sugar, 1/2 teaspoon unsweetened cocoa powder, 1/4 teaspoon ground cinnamon, and 1 pinch salt. Add 1 tablespoon cold unsalted butter pieces and use your fingertips to rub it into the flour until the mixture resembles coarse crumbs. Gradually add 1/4 cup dry white wine, mixing until a firm dough forms. Knead the dough on a lightly floured surface for 5-7 minutes until it is smooth and elastic. Cover the dough tightly with plastic wrap and let it rest at room temperature for at least 1 hour. Resting makes the dough easier to roll.
Place 1 cup whole milk ricotta cheese in a fine-mesh sieve lined with cheesecloth or a coffee filter. Place the sieve over a bowl and refrigerate for at least 2 hours, or overnight, to drain excess liquid. This makes the filling thick and creamy. Once drained, transfer the ricotta to a bowl. Add 1/4 cup powdered sugar and 1/2 teaspoon vanilla extract. Mix gently until just combined. Fold in 1/4 cup mini chocolate chips or finely chopped candied orange peel. Cover and chill in the refrigerator for at least 30 minutes to firm up.
On a lightly floured surface, roll out the rested dough very thinly, about 1/16-inch thick. Use a 3-inch round cutter or a knife to cut out circles. Re-roll any scraps. You should get 4-6 circles. Wrap each circle around a metal cannoli form (a tube-shaped mold), overlapping the edges. Brush a little egg white on one edge before pressing it firmly to seal. This ensures the shell stays closed during frying.
Pour 3-4 cups vegetable oil or canola oil into a deep pot or Dutch oven, ensuring it's at least 3 inches deep. Heat the oil over medium-high heat to 350-375°F (175-190°C). Carefully lower 2-3 cannoli-wrapped forms into the hot oil. Fry for 2-3 minutes, turning occasionally, until the shells are golden brown and bubbly. Use tongs to remove the fried shells from the oil and place them on a paper towel-lined plate to drain. Once cool enough to handle, carefully slide the hot shells off the metal forms. Let the shells cool completely before filling.
Once the shells are completely cool, fill a pastry bag fitted with a wide plain tip (or a zip-top bag with the corner snipped) with the chilled ricotta filling. Pipe the filling into each cannoli shell from both ends until it is full. Dip each end of the filled cannoli into 2 tablespoons chopped pistachios or mini chocolate chips for garnish. Dust with 2 tablespoons powdered sugar just before serving.
Serve the cannoli immediately after filling and garnishing. Enjoy the delightful crunch and creamy sweetness!
Techniques that separate good from great
Ricotta contains a surprising amount of whey (liquid), and if you don't drain it, the filling becomes wet and runny within minutes of filling the shells. Line a fine-mesh sieve with cheesecloth, add the ricotta, and refrigerate overnight. You'll drain out 1/4 to 1/3 cup of liquid. The result is a thick, scoopable filling that holds its shape and stays put inside the shell.
Filled cannoli become soggy within 30-60 minutes as the moist filling softens the fried shell. This is the number one complaint about cannoli bought at bakeries — by the time you get home, they're already losing their crunch. Fill them only just before serving. If hosting a party, set up a DIY cannoli station with filled piping bags and shells in a basket so guests can fill their own.
At lower temperatures, the dough absorbs oil and becomes greasy rather than crispy. At higher temperatures, the outside burns before the dough cooks through. Use a thermometer and work in small batches to maintain the temperature. The shell should turn golden-brown in about 2 minutes per side. Drain immediately on a wire rack, not paper towels, to keep air circulating around all sides.
Classic cannoli filling is simply ricotta, sugar, and vanilla, but what makes a memorable cannoli is what you fold in. Mini chocolate chips throughout the filling, a sprinkle of pistachios on the ends, and a dusting of powdered sugar are all traditional. The chocolate provides bitter contrast to the sweet cheese, and the pistachios add crunch and nutty flavor. Don't skip any of these elements.
Different ways to make this dish your own
Add 2 tablespoons of unsweetened cocoa powder to the shell dough for dark brown shells, and fold 2 tablespoons of melted dark chocolate into the ricotta filling for a full chocolate experience from crust to cream.
Make the ricotta filling in double quantity and serve it as a dip in a bowl surrounded by broken cannoli shell pieces or pizzelle cookies for scooping — ideal for parties and removes the time pressure of filling individual shells.
Use smaller cannoli forms (or wrap dough around the end of a thick dowel) to make two-bite mini cannoli perfect for parties, dessert boards, and weddings where guests want just a taste without committing to a full one.
Swirl 3 tablespoons of Nutella into the ricotta filling for a hazelnut-chocolate variation. Garnish the ends with finely crushed hazelnuts instead of pistachios for a cohesive flavor throughout.
Perfect pairings to complete the meal
Cannoli are the quintessential end to an Italian-American dinner — after a heaping bowl of pasta, a single perfect cannoli with a dusting of powdered sugar and espresso alongside is exactly right. The lightness of the ricotta filling means it doesn't overwhelm a full stomach. Serve on a small plate with a few fresh berries for color and freshness.
Arrange mini and full-size cannoli on a board alongside tiramisu cups, panna cotta, amaretti cookies, and fresh fruit for an impressive Italian dessert spread. Mini cannoli (made with smaller shells) are perfect for parties because they're two-bite portions. Vary the end garnishes — some dipped in chocolate, some in pistachios, some in candied orange peel — for visual variety.
For a party-friendly variation, make the cannoli filling in a large batch and serve it as a dip in a bowl surrounded by broken cannoli shell pieces or pizzelle (Italian waffle cookies) for scooping. This removes the time pressure of filling individual shells while delivering the same flavors. Garnish the dip with mini chocolate chips, pistachios, and powdered sugar.
The traditional Sicilian pairing is cannoli with a small, intense espresso. The bitterness of the coffee cuts perfectly through the sweet, rich ricotta filling. For an evening treat, serve alongside a small glass of Amaretto di Saronno or Limoncello. The almond or citrus notes in the liqueur complement the creamy filling and crispy shell beautifully.
Keep it fresh and plan ahead
Store the filling in an airtight container for up to 3 days. Store fried shells in a paper bag or open container at room temperature for up to 5 days — never refrigerate shells as the humidity will make them soggy. Fill only when ready to serve.
Unfilled shells freeze well for up to 2 months in an airtight container with parchment between layers. Re-crisp in a 300°F oven for 5 minutes before filling. The ricotta filling does not freeze well — the texture becomes grainy and watery upon thawing.
The ricotta filling can (and should) be made 1-2 days ahead and refrigerated — the overnight draining is essential anyway. The shells can be fried up to 5 days ahead. Do not fill more than 30 minutes before serving. This makes cannoli an excellent make-ahead dessert for parties where assembly happens on site.
Cannoli are a cold dessert and should not be reheated. If the shells have lost crispiness, re-crisp unfilled shells in a 300°F oven for 5-8 minutes, let cool completely, then fill. Once filled, cannoli cannot be restored once they go soft.
Turn what you already have in your fridge into delicious meals. Our AI-powered generator creates personalized recipes from your ingredients.
Browse more like this:
Discover more delicious recipes similar to what you're cooking
Join our newsletter and discover new favorites delivered straight to your inbox. No spam, just tasty inspiration.
Easy to assemble, looks impressive, everyone enjoyed the flavors
Liked it but ricotta filling could use slightly less sugar for my taste
Reminds me of childhood bakery trips in Italy absolutely delicious
Tasty but filling can be tricky to pipe neatly next time i’ll use a bag with tip
Shells perfectly crisp, filling creamy and just the right amount of sweetness
I used to buy cannoli from the grocery store bakery, but making them fresh is a game changer. The ricotta filling tastes lighter, and I love that I can control how sweet it is. I dipped the ends in pistachios, and they looked straight out of a michelin star restaurnat. This one definitely impressed my family.
I tried making my own shells from scratch, and wow… it was a process. Frying, rolling, waiting - it took forever. But when I finally filled them, the payoff was huge. The smile I saw on my kids face and all was devoured in minutes. I’d give it 5 stars if it weren’t so time consuming, so I’ll stick with 4. Next time I will be using premade shells for sure.
Cannoli are awesome, but man they are messy. I took one bite and podwered sugar went everywhere. The creamy filling with chocolate chips tho.. my mouth is just watering typing this.