Homemade cannoli pair crisp, golden pastry shells with creamy ricotta filling flecked with dark chocolate, cinnamon, and optional candied orange peel.

Homemade Cannoli with Chocolate and Ricotta
I love serving cannoli for special occasions, especially when I have a small crowd gathered for dessert and coffee. Start the ricotta draining the night before, and allow an hour to chill the dough the next day before rolling and frying the shells.
Making the shells takes a little patience, but that delicate crunch against the creamy filling is worth the effort. I’ve found that thinly rolled dough makes all the difference: thick shells can cook unevenly and taste almost stale, even when freshly fried.
My favorite filling has dark chocolate, a little cinnamon, and finely chopped candied orange peel. Fill the cooled shells just before serving so they keep their crispness, then finish with confectioners’ sugar and more grated chocolate.
For another way to enjoy ricotta, chocolate, and citrus without shaping and frying pastry, try our Easy Cassata Cake.
What Are Cannoli?
Cannoli are Sicilian pastries made from fried, tube-shaped shells filled with sweetened ricotta. The name means “little tubes”; one pastry is a cannolo, and more than one is cannoli.
The shells begin with a dough flavored with Marsala wine, rolled thinly and wrapped around metal molds before frying. Historically, the shells were fried in lard; here, I use oil.
In Sicily, you’ll find cannoli finished with dark chocolate, candied orange peel, cherries, or pistachios. Some have chocolate-dipped shells, while others need only a dusting of confectioners’ sugar.

Ingredients for Cannoli
Make the shells and filling separately, then bring them together just before dessert. You’ll use granulated sugar in the dough and confectioners’ sugar in the filling, so have both on hand.
For the Cannoli Shells
- All-purpose flour: You’ll need flour for the dough, plus extra for the work surface and molds. Keep a little nearby as you roll so you can add it wherever the dough begins to stick.
- Kosher salt and granulated sugar: A pinch of salt balances the sweetness, while a few tablespoons of sugar lightly sweeten the shells and help them brown.
- Unsalted butter: Rub the diced butter into the flour with your fingertips until the mixture is coarse. It adds richness to the pastry without the extra salt of salted butter.
- Eggs: Two whole eggs bind the dough. You’ll also need a separate egg white for sealing the shells.
- Marsala wine: This fortified Sicilian wine adds flavor and helps tenderize the pastry.
- Egg white and cold water: Whisk these together for an egg wash, then use it to seal the overlapping edges of dough around each mold.
- Oil for frying: Extra virgin olive oil, canola oil, or vegetable oil all work. Canola and vegetable oil are more economical for deep frying.
For the Ricotta Filling
- Whole milk ricotta: Choose a thick ricotta and drain it overnight in the refrigerator. Avoid low-fat or fat-free ricotta, which can give the filling a sandy texture.
- Dark chocolate: I prefer dark chocolate to keep the filling from becoming too sweet. Grate it finely so it distributes throughout the ricotta, and save extra for finishing. Milk chocolate or mini chocolate chips are also options.
- Confectioners’ sugar: Also called powdered sugar, it blends into the ricotta for a smooth filling. You’ll use a little more to dust the filled cannoli.
- Ground cinnamon: A small amount adds warmth alongside the chocolate and ricotta.
- Candied fruit, optional: I like finely chopped candied orange peel for little bites of citrus. You can buy it ready-made or make your own.

Choosing Ricotta for Cannoli Filling
Whole milk ricotta gives the filling its creamy texture, but moisture matters just as much as fat content. Spoon a little onto a plate: thick ricotta holds its shape, while wetter ricotta slumps or leaves a pool of liquid around it. Plan to drain it overnight, particularly if there’s visible liquid in the tub.
You can also use homemade ricotta, which lets you control how thoroughly it drains. The goal is a thick cheese that will hold its shape in the shell once mixed with the sugar and chocolate.
Ricotta is one of my favorite baking ingredients, too. It adds tenderness to lemon ricotta cake and makes a creamy filling for cassata.

Tools for Homemade Cannoli
Have your molds and rolling equipment ready before you begin. The shells fry on the molds, so you’ll shape and cook them in batches.
- Fine mesh strainer and cheesecloth: Set the strainer over a bowl and line it with two layers of cheesecloth to drain the ricotta. A flour sack towel or sturdy paper towels also work.
- Rolling pin or pasta roller: A wide rolling pin helps you roll the dough evenly to 1/16 inch. If using a pasta roller, begin at the widest setting and gradually work thinner.
- Cannoli molds: These short metal tubes support the pastry as it fries. I prefer having 6 to 8 molds available so the shaping and frying move along more quickly. You can work with fewer, reusing them once they’re cool enough to handle.
- 3-inch round cutter: A sharp-edged cutter makes neat rounds. A drinking glass also works.
- Piping bag or small spoon: A large piping bag holds more filling, so you won’t need to refill it as often. A small spoon works if you don’t have a bag.
- Thermometer: Use a deep-frying or suitable instant-read thermometer to check that the oil is at 350°F. Oil that’s too hot can darken the shells before they cook evenly; oil that’s too cool can leave them pale and soggy.
- Tongs or a large slotted spoon: Use these to lift the fried shells and molds from the oil onto a paper towel-lined plate.

How to Make Cannoli
Begin the night before by draining the ricotta. The next day, make and chill the dough, roll and fry the shells, and mix the filling. Keep the filling refrigerated and the shells unfilled until you’re ready to serve.
The Night Before: Drain the Ricotta
- Set up the strainer. Place a fine mesh strainer over a bowl and line it with 2 layers of cheesecloth, a flour sack towel, or sturdy paper towels.
- Drain the cheese. Add 12 ounces whole milk ricotta and spread it into an even layer with the back of a spoon. Refrigerate overnight to let the excess liquid drain into the bowl.
Make and Chill the Dough
- Mix the dry ingredients and butter. Sift 2 cups (256 grams) all-purpose flour, a pinch of kosher salt, and 3 tablespoons granulated sugar into a large mixing bowl. Add 4 tablespoons diced unsalted butter and rub it into the flour with your fingertips until the mixture is coarse.
- Add the eggs and wine. Beat 2 whole eggs in a small bowl, then mix them into the flour mixture along with 3 tablespoons Marsala wine.
- Knead and chill. Turn the dough onto a lightly floured work surface and knead by hand until smooth. If it’s too sticky, add flour a little at a time until you can form a smooth ball. Return the dough to the bowl and refrigerate for 1 hour.
Roll and Shape the Cannoli Shells
- Roll the dough thinly. On a clean, well-floured work surface, roll the dough to 1/16 inch thick. Lift and flip it occasionally, adding flour as needed to prevent sticking. If it resists rolling or starts shrinking back, transfer it to a baking sheet and refrigerate for 15 minutes before continuing.
- Cut the rounds. Use a 3-inch round cutter or drinking glass to cut out 18 to 24 circles.
- Make the egg wash. Whisk 1 egg white with 1 tablespoon cold water in a small bowl.
- Wrap and seal. Dust the cannoli molds with flour and wrap a dough circle around each one. Dampen the overlapping edge with egg wash, then press firmly to seal. Refrigerate the shaped shells on their molds until you’re ready to fry.
Fry and Cool the Shells
- Heat the oil. Fill a saucepan one-third of the way with oil and heat to 350°F. Line a plate with paper towels.
- Fry in small batches. Lower a few molds with their pastry shells into the oil. Fry until the shells are uniformly golden and crisp; they cook quickly, so watch their color closely. Lift them out with tongs or a large slotted spoon and transfer to the prepared plate.
- Remove the molds. Once the molds and pastry are cool enough to handle, gently twist the molds to release the shells. Repeat the shaping and frying with the remaining dough.
- Cool completely. Let all the shells cool before filling. If you’re serving them later, place the completely cooled, unfilled shells in an airtight container.
Make the Cannoli Filling
- Combine the ingredients. In a medium bowl, mix the drained ricotta with 2 ounces finely grated dark chocolate, 3/4 cup confectioners’ sugar, and 1/2 teaspoon ground cinnamon. If using candied fruit, fold in 3 ounces, finely chopped.
- Check the consistency. The filling should be thick enough to pipe. If it’s too wet, transfer it to a cheesecloth-lined fine mesh strainer set over a bowl and refrigerate for a few more hours to drain and firm up.
- Keep chilled. Transfer the filling to a piping bag, if using, or keep it in a covered container in the refrigerator until ready to serve.
Finish and Serve
- Just before serving, pipe or spoon the filling into the cooled shells. Dust with confectioners’ sugar and extra grated dark chocolate, then serve right away while the pastry is crisp.
Tips for Crisp Cannoli Shells and Creamy Filling
A thinly rolled shell and well-drained ricotta make all the difference. Pay attention to how the dough feels and how the cheese holds its shape as you work.
- Give stubborn dough another rest. If the dough keeps shrinking back under the rolling pin, refrigerate it for 15 minutes before trying again. If it becomes soft and difficult to handle while shaping, a 15- to 20-minute chill helps firm it up. Working harder with the rolling pin won’t replace that rest.
- Roll evenly, all the way to the edges. Aim for 1/16 inch throughout. Thick patches can cook unevenly and leave the shells with a heavy, almost stale texture. A pasta roller can help: begin at the widest setting and gradually work thinner.
- Keep an eye on the oil temperature. Check for 350°F as you work through the batches. Shells that darken too quickly can develop a bitter flavor, while pale, soggy shells can mean the oil is too cool.
- Drain a loose filling again. Ricotta varies in moisture from brand to brand. If the mixed filling won’t hold its shape well enough to pipe, put it in a lined strainer over a bowl and refrigerate for a few more hours. Let the excess liquid drain away before filling the shells.
- Leave assembly until dessert. Have the filling chilled and the shells completely cool, then fill only when you’re ready to serve. Once the ricotta touches the pastry, the shells begin to soften.

Cannoli Variations
Chocolate, nuts, and candied fruit give you several ways to finish a platter of cannoli. You can decorate a few of each without making separate batches of filling.
- Chocolate-dipped shells: Dip the ends of the fried, completely cooled shells into melted chocolate. Set them on a parchment- or wax-paper-lined baking sheet and refrigerate until the chocolate hardens. Fill just before serving.
- Pistachio, almond, or hazelnut cannoli: Finely chop unsalted nuts, then dip the ends of the filled cannoli into them. The nuts will cling to the exposed ricotta. For more nut flavor, add a few drops of the corresponding almond, hazelnut, or pistachio extract to the filling.
- Cherry cannoli: Leave out the candied orange peel and press an amarena cherry—a small, dark sour cherry preserved in syrup—into the filling at each end. A few drops of almond extract in the ricotta pair nicely with the cherries.
- Chocolate shells: Add 1 to 2 tablespoons cocoa powder to the flour mixture. Watch carefully while frying, since the darker dough makes browning harder to judge.
- Store-bought shells: For less hands-on work, buy ready-to-fill cannoli shells from an Italian bakery or specialty shop. Make the ricotta filling as directed and fill the shells just before serving.
What to Serve with Cannoli
I love bringing out cannoli with cups of hot coffee at the end of dinner. For a Sicilian-inspired meal, start with caponata, a sweet-and-tangy eggplant appetizer, then serve Pasta alla Norma with eggplant and tomato. Cheese-filled arancini, or fried rice balls, are another option for the table.
Cannoli also make a lovely afternoon treat on their own with espresso. For a holiday dessert gathering, serve them with small cups of thick Italian hot chocolate.
Making Cannoli Ahead and Storing Leftovers
Keep the shells and filling separate for as long as possible. You can finish both ahead of time and leave only the filling and dusting for serving.
- Unfilled shells: Cool the fried shells completely, then store them in an airtight container at room temperature for about a week.
- Ricotta filling: Store in an airtight container or closed piping bag in the refrigerator for up to 5 days.
- Filled cannoli: These are best eaten right after filling, while the shells still have their crunch. Refrigerate any leftovers; the pastry will soften as it sits with the ricotta.
Freezing Cannoli Shells and Filling
Freeze the shells and filling separately so you can assemble them when you’re ready to serve.
For the shells: Place the completely cooled shells in a rigid, freezer-safe container to protect them from being crushed. Leave a little room between them or separate them with strips of parchment. Freeze for about 2 weeks for the best texture; I find they lose their crispness when stored longer.
For the filling: Transfer to a freezer-safe bag or container and freeze for up to 1 month. Thaw in the refrigerator. If the filling separates, drain off the extra liquid, then stir gently to bring it back together.

More Italian Dessert to Share
Homemade Cannoli Shells and Filling
Add As A Trusted Google Source
Equipment
- Cheesecloth flour sack towel, or sturdy paper towels
- Rolling Pin or pasta roller
- Cannoli molds
- 3-inch circle cutter
- Piping bag or small spoon
- Tongs or large slotted spoon
Ingredients
For the Filling
- 12 ounces whole milk ricotta cheese
- 2 ounces dark chocolate, finely grated, plus more for dusting
- 3/4 cup confectioners’ sugar, plus more for dusting
- 1/2 teaspoon ground cinnamon
- 3 ounces candied fruit, such as candied orange peel, finely chopped (optional)
For the Shell
- 2 cups (256 grams) all-purpose flour, plus more as needed
- 1 pinch kosher salt
- 3 tablespoons sugar
- 4 tablespoons unsalted butter, diced
- 2 whole eggs, plus 1 egg white
- 3 tablespoons Marsala wine
- 1 tablespoon cold water
- Extra virgin olive oil, canola oil, or vegetable oil, for frying
Instructions
- Drain the ricotta overnight. Line a fine mesh strainer with 2 layers of cheesecloth and set it over a bowl. A flour sack towel or sturdy paper towels also work. Add the ricotta and spread it into an even layer with the back of a spoon. Refrigerate overnight to drain.
- Make the dough the next day. Sift the flour, salt, and granulated sugar into a large mixing bowl. Add the butter and rub it into the flour with your fingertips until the mixture is coarse. Beat the 2 whole eggs in a small bowl, then mix them into the flour mixture along with the Marsala wine.
- Knead and chill. Turn the dough onto a lightly floured work surface and knead by hand until smooth. If it’s too sticky, add flour a little at a time until you can form a smooth ball. Return the dough to the bowl and refrigerate for 1 hour.
- Roll the dough. On a clean, well-floured work surface, roll the dough to 1/16 inch thick. Lift and flip it occasionally, adding flour as needed to prevent sticking. If the dough resists rolling or shrinks back, transfer it to a baking sheet and refrigerate for 15 minutes before continuing.
- Cut and shape the shells. Whisk the egg white with the cold water in a small bowl. Use a 3-inch round cutter or drinking glass to cut the dough into 18 to 24 rounds. Dust the cannoli molds with flour and wrap a dough round around each one. Dampen the overlapping edge with egg wash and press to seal. Refrigerate the shaped shells on their molds until ready to fry.
- Fry in batches. Fill a saucepan one-third of the way with oil and heat to 350°F. Line a plate with paper towels. Fry a few shells on their molds at a time until uniformly golden and crisp. They cook quickly, so watch closely. Use tongs or a large slotted spoon to transfer them to the prepared plate.
- Remove the molds and cool. When the molds and pastry are cool enough to handle, gently twist the molds to release the shells. Repeat the shaping and frying until all the dough is used. Let the shells cool completely. If filling later, store the cooled shells in an airtight container.
- Mix the filling. In a medium bowl, combine the drained ricotta, grated chocolate, confectioners’ sugar, cinnamon, and candied fruit, if using. Mix until well combined. Transfer to a piping bag, if you like, or keep in a covered container. Refrigerate until ready to serve.
- Finish and serve. Just before serving, pipe or spoon the filling into the completely cooled shells. Dust with confectioners’ sugar and extra grated dark chocolate. Serve immediately.
Video
Notes
- Plan ahead: The ricotta drains overnight, and the dough needs 1 hour in the refrigerator. Allow additional time for the fried shells to cool completely and for any extra chilling needed while rolling and shaping.
- Choose whole milk ricotta: Avoid low-fat or fat-free ricotta, which can give the filling a sandy texture. If the mixed filling is too wet to pipe, transfer it to a lined fine mesh strainer set over a bowl and refrigerate for a few more hours to drain.
- Roll thinly: Aim for an even 1/16-inch thickness. Thick dough can cook unevenly and leave the shells heavy rather than crisp. If using a pasta roller, begin at the widest setting and gradually work thinner.
- Fill just before serving: The shells soften quickly once filled. Keep the shells and filling separate until dessert.
- Storage: Store completely cooled, unfilled shells in an airtight container at room temperature for about a week. Refrigerate the filling in an airtight container or closed piping bag for up to 5 days. Refrigerate leftover filled cannoli, keeping in mind that the shells will soften.
- Freeze the shells: Place completely cooled, unfilled shells in a rigid, freezer-safe container, leaving space between them or separating them with parchment. Freeze for about 2 weeks for the best texture.
- Freeze the filling: Freeze in a freezer-safe bag or container for up to 1 month. Thaw in the refrigerator, drain off any separated liquid, and stir gently to combine.
- Shop this recipe: Using olive oil to fry your cannoli shells? Browse our extra virgin olive oils.
Nutrition
Bundle and Save!
Four of our best-selling signature olive oils, perfect for everyday use.

*This post was recently updated with new information for readers’ benefit.














Hello I have just made cannolis using this recipe, so delicious btw! But I have many left overs with the filling inside if I freeze the left over cannolis will they go soggy?
Hi, Genie. We found that you can freeze them for up to 2 weeks, and they should be okay. The longer you freeze them, the less crispy they will be.
I’ve never made cannolis, but would like to learn.
You have come to the right place! Hope you give the recipe a try!