These homemade Italian cannoli are the kind of baking project that reminds me why some classics are worth making from scratch. The shells fry up thin, blistered, crisp, and beautifully golden, while the ricotta filling is cool and creamy with just enough sweetness to let the cheese shine. Semisweet chocolate adds little bittersweet pockets, and fresh lemon zest keeps the filling from tasting heavy.
This is definitely more of a weekend project than a busy-Tuesday dessert, but the work becomes surprisingly manageable once you get into a rhythm of rolling, wrapping, and frying. I especially like that the shells can be made well ahead of time; then, when you’re ready to serve, all that’s left is piping in that luscious ricotta filling.
The biggest secret is waiting to fill the shells. Pipe them shortly before serving, and you get that wonderful bakery-style contrast between shatteringly crisp pastry and silky filling.

Love this recipe? Pin it to your Italian Desserts board on Pinterest so you don’t lose it!
Ingredients
Cannoli Shells
3 cups all-purpose flour
¼ cup granulated sugar
¼ tsp ground cinnamon
3 tbsp shortening
½ cup sweet Marsala wine
2 tbsp water, plus more as needed
1 tbsp distilled white vinegar
1 large egg
1 large egg yolk
1 large egg white, lightly beaten, for sealing
4 cups neutral frying oil, or as needed
Ricotta Filling
32 oz whole-milk ricotta cheese, well drained
½ cup confectioners’ sugar, plus more to taste
4 oz semisweet chocolate, finely chopped (Optional)
1 tsp finely grated lemon zest, or to taste
Confectioners’ sugar, for dusting (Optional)
Instructions
- Make the dough. Combine the flour, granulated sugar, and cinnamon in a large bowl. Cut in the shortening until the mixture resembles coarse crumbs.
- Add the wet ingredients. Make a well in the flour mixture. Pour in the Marsala, water, vinegar, whole egg, and egg yolk. Stir with a fork until a firm dough begins to form.
- Knead and chill. Turn the dough onto a clean work surface and knead for about 10 minutes, adding a small amount of water only if the dough is too dry to come together. Cover tightly and refrigerate for 1 to 2 hours.
- Roll the dough. Divide the chilled dough into three portions. Flatten one portion and run it through a pasta machine, gradually reducing the setting until the dough is very thin. Lightly flour the dough whenever necessary to prevent sticking.
- Cut the shells. Lay the rolled dough on a lightly floured surface and cut it into 4- to 5-inch rounds. Dust each round very lightly with flour.
- Wrap the cannoli tubes. Wrap each round around a metal cannoli tube, overlapping the edges. Brush the overlapping edge with egg white and press gently to seal. Avoid getting egg white on the tube itself.
- Heat the oil. Bring the frying oil to 190°C / 375°F in a deep, heavy skillet or deep fryer.
- Fry until crisp. Fry several cannoli shells at a time for 2 to 3 minutes, turning as necessary, until blistered and golden brown. Carefully transfer them to a wire rack set over paper towels.
- Remove the tubes. When the shells are cool enough to handle but still slightly warm, gently twist and slide out the metal tubes. Repeat with the remaining dough.
- Prepare the filling. Stir the well-drained ricotta and confectioners’ sugar until creamy and evenly combined. Fold in the chopped chocolate and lemon zest.
- Fill the cannoli. Transfer the ricotta mixture to a pastry bag. Pipe filling from the center toward one end of each shell, turn the cannoli around, and fill the opposite end.
- Serve. Dust lightly with confectioners’ sugar, if desired, and serve promptly while the shells are still crisp.
Cooking Notes
Drain the ricotta thoroughly. Excess whey is one of the main reasons homemade cannoli filling turns loose or watery. For especially wet ricotta, let it drain through cheesecloth or a fine-mesh strainer in the refrigerator for several hours.
Roll the dough very thin. Thin dough creates the delicate, crisp shell associated with bakery-style cannoli. A pasta machine makes this much easier and more consistent.
Watch the oil temperature. Keep the oil close to 190°C / 375°F. Oil that is too cool encourages greasy shells, while excessively hot oil can brown them before they become properly crisp.
Do not fill ahead of time. Unfilled shells can be stored airtight for an extended period, but filled cannoli soften quickly. For the best texture, fill them no more than about 1 hour before serving.
If you do not want chocolate in the filling, simply leave it out. Mini chocolate chips can also replace chopped semisweet chocolate.
Nutrition
Yields: 30 servings
Recommended Serving Size: 1 filled cannoli
Because frying-oil absorption varies substantially with dough thickness, frying temperature, and draining, homemade cannoli nutrition can only be estimated precisely within a range. The original supplied nutrition data reports 402 calories per serving, but that figure appears unusually high for a batch yielding 30 individual cannoli. Using ingredient quantities, approximate edible oil uptake, and a 30-cannoli yield produces a more practical estimate of roughly 220 calories per cannoli.
Estimated Nutrition per Serving
- Calories: 220 kcal
- Fat: 11.0 g
- Carb: 24.0 g
- Protein: 5.5 g
These values are estimates and will change with the ricotta brand, chocolate, shell thickness, and especially the amount of frying oil absorbed.
Recipe Science
Cannoli combine two very different structures: a low-moisture fried pastry shell and a high-moisture ricotta filling. Marsala, vinegar, egg, shortening, and flour form a firm dough that can be rolled exceptionally thin. Rapid frying at 190°C / 375°F drives moisture from the dough while setting and browning its surface, producing the characteristic crisp, blistered shell.
Draining the ricotta is equally important because removing excess whey creates a thicker filling without requiring excessive confectioners’ sugar. Sugar sweetens and slightly loosens the ricotta, while semisweet chocolate contributes richness and textural contrast. Lemon zest provides aromatic citrus oils that balance the dairy and fried pastry. Filling shortly before serving limits moisture migration from the ricotta into the shell.
For everyday planning, make the shells ahead and keep them airtight, but refrigerate the ricotta filling separately. Filled cannoli are best eaten promptly. Based on the estimated serving above, sodium, saturated fat, and added sugar are not expected to reach the FDA’s 20% Daily Value threshold for “high” per cannoli. The FDA Daily Values are 2,300 mg sodium, 20 g saturated fat, and 50 g added sugars; 20% DV or more per serving is considered high. (U.S. Food and Drug Administration)
Why You’ll Love This Recipe
- Bakery-Style Texture: Thin, bubbly shells provide that unmistakable crisp bite against the creamy ricotta center.
- Balanced Sweetness: The filling starts with only ½ cup confectioners’ sugar, so you can adjust it without overwhelming the ricotta.
- Make-Ahead Friendly: Prepare the shells in advance and save the filling and assembly for serving day.
- Classic Flavor Combination: Marsala, cinnamon, ricotta, chocolate, and lemon create a traditional Italian-inspired flavor profile.
- Worth the Weekend Project: A pasta machine and cannoli tubes require a little extra effort, but they make consistent homemade shells much easier.
FAQ
- Can I make cannoli without a pasta machine?: Yes. Use a rolling pin and roll the dough extremely thin. A pasta machine simply makes achieving an even thickness easier.
- Why is my cannoli filling runny?: The ricotta probably contains too much moisture. Drain it thoroughly before mixing in the sugar, and avoid trying to correct watery filling by continually adding more confectioners’ sugar.
- Can I fill the cannoli the night before?: It’s not recommended. The moisture in the ricotta gradually softens the fried shells. Keep both components separate and assemble within about an hour of serving.
- Why aren’t my shells crispy?: Check both dough thickness and frying temperature. Thick dough or oil below 190°C / 375°F can result in heavier, less crisp shells.
- Can I leave out the chocolate?: Absolutely. The chocolate is optional. You can serve the ricotta filling plain or add finely chopped pistachios at the ends after piping.
Conclusion
There’s something especially satisfying about breaking into a crisp homemade cannoli shell and finding that cool, creamy ricotta filling inside. Don’t worry about making every shell perfectly identical; homemade baking is a journey, and those little differences are part of what makes a batch your own.
What would you put on the ends of yours: chocolate, pistachios, or simply a dusting of confectioners’ sugar? Happy baking, friends!
Homemade Italian Cannoli
Course: International CookiesCuisine: ItalianDifficulty: Medium30
cannoli45
minutes1
hour220
kcalCrisp, bubbly homemade cannoli shells filled with lightly sweetened lemon ricotta and optional semisweet chocolate.
Ingredients
- Cannoli Shells
3 cups all-purpose flour
¼ cup granulated sugar
¼ tsp ground cinnamon
3 tbsp shortening
½ cup sweet Marsala wine
2 tbsp water, plus more as needed
1 tbsp distilled white vinegar
1 large egg
1 large egg yolk
1 large egg white, lightly beaten, for sealing
4 cups neutral frying oil, or as needed
- Ricotta Filling
32 oz whole-milk ricotta cheese, well drained
½ cup confectioners’ sugar, plus more to taste
4 oz semisweet chocolate, finely chopped (Optional)
1 tsp finely grated lemon zest, or to taste
Confectioners’ sugar, for dusting (Optional)
Directions
- Make the dough. Combine the flour, granulated sugar, and cinnamon in a large bowl. Cut in the shortening until the mixture resembles coarse crumbs.
- Add the wet ingredients. Make a well in the flour mixture. Pour in the Marsala, water, vinegar, whole egg, and egg yolk. Stir with a fork until a firm dough begins to form.
- Knead and chill. Turn the dough onto a clean work surface and knead for about 10 minutes, adding a small amount of water only if the dough is too dry to come together. Cover tightly and refrigerate for 1 to 2 hours.
- Roll the dough. Divide the chilled dough into three portions. Flatten one portion and run it through a pasta machine, gradually reducing the setting until the dough is very thin. Lightly flour the dough whenever necessary to prevent sticking.
- Cut the shells. Lay the rolled dough on a lightly floured surface and cut it into 4- to 5-inch rounds. Dust each round very lightly with flour.
- Wrap the cannoli tubes. Wrap each round around a metal cannoli tube, overlapping the edges. Brush the overlapping edge with egg white and press gently to seal. Avoid getting egg white on the tube itself.
- Heat the oil. Bring the frying oil to 190°C / 375°F in a deep, heavy skillet or deep fryer.
- Fry until crisp. Fry several cannoli shells at a time for 2 to 3 minutes, turning as necessary, until blistered and golden brown. Carefully transfer them to a wire rack set over paper towels.
- Remove the tubes. When the shells are cool enough to handle but still slightly warm, gently twist and slide out the metal tubes. Repeat with the remaining dough.
- Prepare the filling. Stir the well-drained ricotta and confectioners’ sugar until creamy and evenly combined. Fold in the chopped chocolate and lemon zest.
- Fill the cannoli. Transfer the ricotta mixture to a pastry bag. Pipe filling from the center toward one end of each shell, turn the cannoli around, and fill the opposite end.
- Serve. Dust lightly with confectioners’ sugar, if desired, and serve promptly while the shells are still crisp.






