Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb (900 g) whole-milk ricotta
- 2/3 cup (130 g) superfine/caster sugar
- Zest of 1 orange (1 tbsp) + zest of 1 lemon (1 tsp)
- 1 tsp vanilla, pinch cinnamon (optional)
- 1/2 cup (85 g) finely chopped dark chocolate or mini chips
- 2 cups (250 g) all-purpose flour
- 2 tbsp (25 g) sugar, 1/2 tsp cinnamon, 1/4 tsp salt, 1 tsp cocoa (optional)
- 3 tbsp (42 g) cold butter, 1 large egg yolk + 1 egg white (for sealing)
- 1/2 cup (120 ml) Marsala wine + 1 tsp white wine vinegar
- 2 qt (1.9 L) neutral oil for frying
- 1/2 cup (70 g) finely chopped pistachios; powdered sugar for dusting
Do This
- 1) Drain ricotta in a cheesecloth-lined sieve 8–24 hours in the fridge.
- 2) Mix flour, sugar, cinnamon, salt, cocoa; cut in butter. Add yolk, Marsala, vinegar; knead smooth. Rest 30 minutes.
- 3) Roll to 1/16 in (1.5 mm). Cut 4 in (10 cm) rounds; wrap around cannoli tubes; seal with egg white.
- 4) Fry at 355°F/180°C until deep golden and blistered, 60–90 seconds. Drain; slide off molds.
- 5) Beat drained ricotta smooth; mix in sugar, zests, vanilla, cinnamon; fold in chocolate. Chill 30 minutes.
- 6) Pipe into shells just before serving. Dip ends in pistachios; dust with powdered sugar.
Why You’ll Love This Recipe
- Shatteringly crisp shells with classic Sicilian Marsala aroma.
- Light, not-too-sweet ricotta cream flecked with citrus zest and dark chocolate.
- Step-by-step guidance for restaurant-quality results at home.
- Make-ahead friendly: prep shells and filling separately, then pipe to serve.
Grocery List
- Produce: 1 orange, 1 lemon
- Dairy: Whole-milk ricotta (2 lb/900 g), unsalted butter, 1 large egg, optional heavy cream
- Pantry: All-purpose flour, granulated sugar, superfine/caster sugar or powdered sugar, ground cinnamon, salt, unsweetened cocoa powder, vanilla extract, dark chocolate (60–70%), pistachios, Marsala wine, white wine vinegar, neutral frying oil, powdered sugar
Full Ingredients
For the pastry shells
- 2 cups (250 g) all-purpose flour
- 2 tbsp (25 g) granulated sugar
- 1/2 tsp ground cinnamon
- 1/4 tsp fine salt
- 1 tsp unsweetened cocoa powder (optional, for color)
- 3 tbsp (42 g) cold unsalted butter, diced
- 1 large egg yolk
- 1/2 cup (120 ml) Marsala wine, plus up to 2 tbsp (30 ml) extra as needed
- 1 tsp white wine vinegar
- 1 large egg white, lightly whisked (for sealing)
- Flour for dusting
For frying
- 2 qt (1.9 L) neutral oil (peanut, canola, or sunflower)
For the ricotta cream filling
- 2 lb (900 g) whole-milk ricotta, well drained (aim for 700–750 g after draining)
- 2/3 cup (130 g) superfine/caster sugar (or 3/4 cup/90 g powdered sugar)
- Zest of 1 large orange (about 1 tbsp)
- Zest of 1 lemon (about 1 tsp)
- 1 tsp pure vanilla extract
- 1/8 tsp ground cinnamon (optional)
- 1/2 cup (85 g) finely chopped dark chocolate or mini chocolate chips (60–70% cacao)
- 1–2 tbsp cold heavy cream only if needed to loosen
For finishing
- 1/2 cup (70 g) finely chopped pistachios, lightly toasted
- Powdered sugar, for dusting

Step-by-Step Instructions
Step 1: Drain the ricotta for a silky, thick filling
Line a fine-mesh sieve with two layers of cheesecloth and set it over a bowl. Add the ricotta, fold the cloth over the top, and place a small plate with a light weight (such as a can) on top. Refrigerate 8–24 hours until very thick. Discard the liquid. This step is essential for a filling that stays light and not watery.
Step 2: Make and rest the shell dough
In a bowl, whisk together the flour, granulated sugar, cinnamon, salt, and cocoa powder (if using). Cut in the cold butter with your fingertips until the mixture resembles coarse crumbs. Add the egg yolk, Marsala, and vinegar; mix until a shaggy dough forms. Turn onto a counter and knead 3–5 minutes until smooth and elastic, adding up to 2 tbsp extra Marsala only if dry. Wrap and rest at room temperature for 30–45 minutes to relax the gluten.
Step 3: Roll thin, cut, and shape on molds
Divide the dough in half. Working with one piece at a time, roll very thin to 1/16 inch (1.5 mm). A pasta machine set to thin works well. Cut 4-inch (10 cm) rounds (or 3 x 4.5 inch ovals). Wrap each around a cannoli tube so the edges overlap by 1/2 inch (1.25 cm). Brush the overlap lightly with egg white and press to seal firmly. Keep shaped shells under a towel to prevent drying.
Step 4: Fry the shells until blistered and crisp
Heat 2 inches (5 cm) of oil in a deep, heavy pot to 355°F/180°C. Fry 2–3 shells at a time, turning occasionally, until deep golden with lots of bubbles, 60–90 seconds. Avoid overcrowding to keep the oil hot. Lift to a rack to drain. While still warm but safe to handle, gently slide shells off the molds using tongs and a kitchen towel; return molds to raw shells and continue. Let shells cool completely before filling.
Step 5: Make the citrus-chocolate ricotta cream
Beat the drained ricotta with a spatula or paddle until very smooth; for an ultra-silky texture, press through a fine sieve. Stir in the sugar, orange and lemon zests, vanilla, and cinnamon (if using). Fold in the chopped chocolate. If the mixture is very stiff, add a teaspoon or two of cold heavy cream to reach a pipeable consistency. Cover and chill 30 minutes.
Step 6: Pipe, garnish with pistachios, and dust
Transfer the filling to a piping bag fitted with a 1/2-inch (12 mm) round or star tip. Hold a shell and pipe from the center out to one end; flip and fill the other side. Immediately dip the exposed filling at each end into chopped pistachios. Arrange on a platter and dust the shells lightly with powdered sugar.
Step 7: Serve fresh and crisp
For the best texture, serve within 1 hour of filling. If you must hold them longer, refrigerate up to 4 hours, understanding the shells will soften slightly. To refresh empty shells before filling, warm on a rack at 300°F/150°C for 5 minutes, then cool completely.
Pro Tips
- Dry ricotta is non-negotiable. The more moisture you remove, the lighter and longer-lasting your filling.
- Roll the dough thin. At 1/16 inch (1.5 mm), shells blister beautifully and fry up shatter-crisp.
- Marsala + a touch of vinegar helps tenderness and blistering in the shells.
- Seal well with egg white and press firmly so shells don’t open in the oil.
- Fill at the last minute to keep shells crisp; store shells and filling separately until service.
Variations
- Candied fruit classic: Fold 1/3 cup (50 g) finely diced candied orange peel or citron into the ricotta instead of chocolate.
- Chocolate-dipped rims: Dip cooled shells’ ends in tempered dark chocolate; set before filling for a dramatic look and extra crunch.
- No-alcohol dough: Replace Marsala with 1/2 cup (120 ml) white grape or apple juice plus the same 1 tsp vinegar.
Storage & Make-Ahead
Drain ricotta up to 48 hours ahead. Fry shells 2–3 days in advance; cool, then store airtight at room temperature with a paper towel in the container. Re-crisp empty shells at 300°F/150°C for 5 minutes if needed, then cool fully before filling. Ricotta filling keeps refrigerated up to 3 days; stir before piping. Once filled, cannoli are best within 1 hour (up to 4 hours refrigerated, but shells soften). Freezing is not recommended.
Nutrition (per serving)
Approximate per cannolo (1 of 18): 260 calories; 14 g fat; 7 g saturated fat; 28 g carbohydrates; 12 g sugars; 8 g protein; 120 mg sodium.


Leave a Reply