This authentic cannoli recipe will help you create the most delicious Italian pastry right in your own kitchen.
I live in an area without any good Italian bakeries, so I spent years perfecting this recipe.
The result is a dessert with incredibly crispy, bubbly shells and a rich, creamy ricotta filling that is simply divine. It’s so much better than anything you can buy.
Let’s make some cannoli together!

Cannoli Ingredients You Need
Here are the simple ingredients you will need for the shells and the filling.
- For the Crispy Cannoli Shells:
- All-purpose flour forms the base of our dough.
- Granulated sugar adds just a hint of sweetness.
- A little salt balances the flavors.
- Cold, unsalted butter creates a tender, flaky texture.
- Marsala wine is a traditional ingredient that gives a wonderful flavor and helps the shells bubble when fried.
- One large egg and one egg yolk bind the dough together.
- One egg white is used to seal the dough on the molds.
- A neutral oil, like vegetable or canola oil, is needed for frying.
- For the Creamy Ricotta Filling:
- Whole milk ricotta cheese is the star. You must strain it to get a thick, creamy texture.
- Powdered sugar sweetens the filling and keeps it smooth.
- Vanilla extract adds a classic, warm flavor.
How to Make the Cannoli Shells
Making homemade cannoli shells is the most important part of this recipe.
- Make the Dough: In a food processor, pulse the flour, sugar, and salt. Add the cold butter and pulse until it looks like coarse crumbs. Then, add the egg, egg yolk, and Marsala wine. Pulse until a shaggy dough ball forms.
- Knead and Rest: Turn the dough onto a clean counter and knead it for about 3 minutes until it is smooth. Place it in a lightly oiled bowl, cover it, and let it rest for at least one hour. This step lets the gluten relax, making the dough easier to roll.
- Heat the Oil: While the dough rests, pour about 2 inches of oil into a heavy pot or Dutch oven. Heat it over medium heat until it reaches 350°F. An instant-read thermometer is very helpful here.
- Roll and Cut: Roll the dough out very thin, about 1/16th of an inch thick. I find this is the secret to a super crispy shell. Use a 4-inch round cookie cutter to cut out circles.
- Wrap the Dough: Lightly oil your cannoli forms. Wrap one dough circle around each form. Brush a little egg white where the edges overlap and press firmly to seal.
- Fry the Shells: Carefully place 3 or 4 shells into the hot oil. Do not crowd the pot. Fry for about 1 to 2 minutes, turning them, until they are golden brown and bubbly.
- Drain and Cool: Use tongs to remove the shells from the oil and place them on a paper towel-lined plate to drain. Be very careful as you slide the hot shell off the form. I use a paper towel to hold the shell so I don’t burn my fingers. Let the forms and shells cool completely.
How to Make the Ricotta Filling
The creamy ricotta filling is simple to prepare while your shells are cooling.
- Strain the Ricotta: This is the most critical step for a perfect filling. Place the ricotta in a cheesecloth-lined strainer set over a bowl. Cover it and let it drain in the refrigerator overnight, or for at least 8 hours. This removes excess water and prevents a soggy cannoli.
- Mix the Filling: In a medium bowl, combine the strained ricotta, powdered sugar, and vanilla extract. Use a hand mixer to whip the ingredients until they are completely smooth and creamy.
- Add Your Mix-Ins: If you want, you can gently fold in mini chocolate chips or finely chopped pistachios now.
- Chill the Filling: Place the filling in the refrigerator to stay cold while you finish preparing the shells.
Assembling Your Perfect Cannoli
Here is the best way to put your homemade cannoli together.
- Wait to Fill: Only fill the cannoli shells right before you plan to serve them. This keeps the shells wonderfully crisp.
- Use a Piping Bag: Transfer the ricotta filling to a piping bag (or a zip-top bag with the corner snipped off). This makes filling the shells clean and easy.
- Fill from Both Ends: Pipe the filling from one side to the middle of the shell. Then, turn it around and pipe from the other side to ensure it’s completely full.
- Add Toppings: Dip the ends of the filled cannoli in your favorite toppings. Mini chocolate chips, chopped pistachios, or candied fruit are all great choices.
- Dust with Sugar: For a classic bakery look, finish with a light dusting of powdered sugar.
Tips for Success
From my kitchen to yours, here are a few tips to ensure your cannoli turn out perfectly.
- Roll the Dough Thin: The thinner you roll the dough, the lighter and crispier your shells will be. This makes a huge difference.
- Watch the Oil Temperature: Keep the oil at a steady 350°F. If it’s too cool, the shells will be greasy. If it’s too hot, they will burn.
- Store Components Separately: You can make everything ahead of time. Store the cooled, fried shells in an airtight container at room temperature for up to 2 days. Keep the filling in a covered container in the fridge for up to 3 days.

The Best Homemade Cannoli Recipe
Ingredients
Equipment
Method
- Make the Dough: In a food processor, pulse the flour, sugar, and salt. Add the cold butter and pulse until it looks like coarse crumbs. Add the whole egg, egg yolk, and Marsala wine. Pulse until a shaggy dough ball forms.
- Knead and Rest: Turn the dough onto a clean counter and knead for about 3 minutes until smooth. Place it in a lightly oiled bowl, cover it, and let it rest for at least one hour.
- Heat the Oil: While the dough rests, pour about 2 inches of oil into a heavy pot or Dutch oven. Heat it over medium heat until it reaches 350°F.
- Roll and Cut: Roll the dough out very thin, about 1/16th of an inch thick. Use a 4-inch round cookie cutter to cut out circles.
- Wrap the Dough: Lightly oil your cannoli forms. Wrap one dough circle around each form. Brush a little egg white where the edges overlap and press firmly to seal.
- Fry the Shells: Carefully place 3 or 4 shells into the hot oil. Fry for about 1 to 2 minutes, turning them, until they are golden brown and bubbly. Use tongs to remove the shells and place them on a paper towel-lined plate to drain.
- Cool the Shells: Carefully slide the hot shell off the form. Let the forms and shells cool completely before repeating with the remaining dough.
- Make the Filling: In a medium bowl, combine the strained ricotta, powdered sugar, and vanilla extract. Use a hand mixer to whip the ingredients until completely smooth and creamy.
- Assemble: Transfer the ricotta filling to a piping bag. Pipe the filling into each shell from both ends. Dip the ends in optional toppings like mini chocolate chips or chopped pistachios and dust with powdered sugar before serving.