Learn how to make flawless Cannoli completely from scratch! My recipe yields perfect, thin, crispy shells and a rich and creamy filling. I’ll walk you through all of my tips and tricks so yours turn out perfectly at home, the recipe also includes a how-to video!
An Approachable Cannoli Recipe for Bakers of All Skill Levels!
Today we’re tackling homemade cannoli, completely from scratch. We’ll be making our own shells (no store-bought shells here), frying them (it’s easy, no deep fryer needed!) and filling them with a ricotta based filling.
Making cannoli does require some technique and some equipment you may not currently have on hand (though check my FAQ section for household substitutions if you don’t have cannoli tubes or even a food processor). However, they’re absolutely worth the time and technique needed to make them, nothing beats a homemade cannoli. Today I’m walking you carefully in (probably too much) detail through every step so you can have flawless results at home. I’m really excited about how much you’re going to love these.
Let’s get started.
What You Need
For the Shells
A good cannoli should have shells that aren’t quite fragile, but that are thin and break easily beneath your teeth, giving way to a creamy ricotta-based filling that’s sweet, but not cloyingly so. Let’s talk about what we need for those thin, crisp shells, first:
- Flour. Use all-purpose flour.
- Marsala wine. You can absolutely use a better quality of wine. While I often recommend against using cooking wine, the taste doesn’t really come through in the cannoli at the end and rather than waste a bottle of the expensive stuff, I just use cooking wine. This is a classic ingredient in Italian cannoli.
- White vinegar. This adds acidity to the dough and encourages a thinner dough with more of those beautiful thin bubbles that are characteristic to cannoli shells. It also helps the shells to break perfectly beneath your teeth when you take that first bite.
- Ground cinnamon. This adds a beautiful depth of flavor to the shells but may be omitted.
- Egg yolk. Just a single egg yolk (omit the white) adds a bit of fat and will help the dough to bind together. and a Tablespoon of butter. These add fat to the dough, just enough to give you the proper flakiness when you bite into it.
- Butter. It’s a small bit of butter in the grand scheme of things, but it helps encourage a thin and flaky shell.
- Sugar and salt primarily add flavor.
- Oil for frying. Vegetable oil and canola oil are good choices, peanut oil would work as well.
For Cannoli Filling
- Ricotta cheese — Use whole milk ricotta cheese, or for an extra decadent treat try making your own ricotta! The ricotta must be strained before you can use it to make your filling or you’ll have a runny mess on your hands.
- Powdered sugar. My cannoli recipe is a tad bit sweeter than some. It’s not cloying, but I like to be able to taste a bit of sweetness!
- Vanilla extract. For flavor.
- Heavy cream. I use this to make homemade whipped cream which I then fold into the traditional ricotta/sugar/vanilla filling. This adds some lightness to the filling and I love it, I think you will too.
As always, this is just an overview of the ingredients used and why, please see the printable recipe below for detailed amounts and instructions.
How to Make Cannoli Shells
Start By Making Your Dough
Combine flour, sugar, salt, and cinnamon in the food processor, then briefly pulse in the butter until it’s incorporated and no large pieces remain. Add the egg yolk, wine, and vinegar and pulse until the dough is crumbly.
Test the dough, you will know it has reached the proper consistency if you take about a teaspoon of the crumbly dough and if you pinch it between your thumb and forefinger it sticks together, as depicted in the photo above.
Divide the dough into two. Working with one at a time, work the dough together until it forms a disc. Use pressure to work the dough together, make sure it is solid! Chill for a minimum of 30 minutes and up to several days.
Tip: This is a dry and crumbly dough by design (important for a thin shell!), but if you absolutely can’t get it to cling together just add a bit more wine, a splash at a time, until you get the right consistency.
Roll & Fry
After the dough has chilled, roll it out on a lightly floured surface. Roll it thin. Paper thin. As thin as you can possibly manage. Some people like to use a pasta maker to make theirs extra thin, but that’s not necessary here.
Cut out your dough into 3.5″ circles. Wrap them around your cannoli tube (see FAQ section if you don’t have cannoli tubes!), it should be wrapped securely, but not super tight. The dough should overlap and it’s important that it sticks where it touches. To get mine to stick, I’ll dab a bit of water on the dough and then press firmly.
While you’re doing all of this, you should have a pot of oil on medium heat, slowly heating to 375F (190C).
Tip: Technically this recipe makes mini cannoli. If you want to make larger ones, simply buy classic cannoli tubes (click the link for my affiliate link) and cut the dough to be approximately 5″ (13cm) in diameter.
Once the oil has reached temperature, fry the cannolis in batches of 2 or 3, until golden brown. Take care that you carefully place the cannolis in the oil and remove them with tongs, don’t burn yourself!
Always allow the oil to return to the proper temperature before frying subsequent batches. Make sure your oil doesn’t get too hot, too!
Cannoli filling is made with ricotta cheese. If you have the time to do so, I highly recommend you try making your own ricotta cheese.
However, if you can’t, you can use store-bought whole milk ricotta but you must strain it first or your filling will be runny. I’ve included instructions in the recipe on how to strain ricotta (and I show how to do it in my video), do this the night before you intend to use it.
I’ve found that the easiest way to fill cannoli is to portion the filling into a piping bag and pipe it into either side.
Once filled, you can then dust the shells with powdered sugar and press or sprinkle the ends with mini chocolate chips or chocolate curls, sprinkles, sliced almonds, or chopped pistachios.
Frequently Asked Questions
Cannoli should ideally be enjoyed within several hours of being assembled or they run the risk of becoming soggy (I’ve prepared mine up to 24 hours in advance with success!). Please see my notes in the recipe card for more details on storing and preparing in advance.
Ricotta cheese gives cannoli their characteristic flavor and texture. However, if you want to make it without (or don’t have time to wait for the ricotta to strain) you can substitute mascarpone, though the flavor will be different!
Yes, take a sheet of aluminum foil and fashion it into a sturdy rod that’s at least 4″ long and .6″ wide and use this in place of the tubes. Take extra care when removing the cannoli shells from the oil as the foil may hold oil in the folds
While the shells will not have the same taste or texture, you *could* bake them. Bake on 350F (175C) until golden brown (typically 15-18 minutes).
You can substitute any wine you happen to have on hand instead (red wine may cause the dough to be slightly discolored).
While I’ve never made these without using wine myself, a number of people have reported success using grape juice or water instead.
Yes. It makes a very dry dough though so you will most likely need to ultimately use your hands to work the ingredients together.
More Recipes You Might Like
Let’s bake together! Make sure to check out the how-to VIDEO in the recipe card!
- 1 lb whole milk ricotta cheese (453g)
- Strained ricotta cheese, from above
- 2 cups powdered sugar divided (215g + 35g)
- 1 teaspoon vanilla extract
- 1 cup heavy cream, very cold (236ml)
- Mini chocolate chips or chopped pistachios for decorating optional
- Powdered sugar for dusting, optional
Strain Ricotta First:
- Place a large strainer in a mixing bowl, making sure there’s at least an inch of space between the bottom of the strainer and the bottom of the bowl. Line the strainer with two layers of cheesecloth (or you may use paper towwels) then add the ricotta, wrap the cheesecloth around the ricotta and place something heavy over the cheesecloth to help squeeze the liquid out. Press firmly and then allow this to sit in the refrigerator for several hours or overnight.
- Combine flour, sugar, salt, and ground cinnamon in the basin of a food processor and pulse to combine.
- Add the butter and briefly pulse until it’s cut into the mixture.
- Add egg yolk, wine, and vinegar and pulse until the dough is just combined. It will be a very dry, crumbly dough but if you take a spoonful of it and press it between your thumb and fingers it should cling together (see photos or video for visual if needed). If the dough is too dry you can add a splash more wine.
- Form the dough into two smooth disks, wrap each in plastic wrap and chill in the refrigerator for a minimum of 30-60 minutes.
- About 10 minutes before dough is finished chilling, fill a heavy-bottomed pot 2-3” deep with oil and heat over medium heat. Fix a candy thermometer on the side and monitor the temperature (you are aiming for a steady temperature of 375F (190C)).
- Remove one disk of dough from refrigerator and use a rolling pin to roll it as thin as you possibly can, aim for paper-thin thickness (though it’s likely you won’t be able to get it quite this thin).
- Use a 3” round cookie cutter to cut out as many circles as you can from the dough, then repeat with the other half of your dough. While you can re-group the scraps and re-roll them out, the shells tend to puff and look craggy and thick when this is done, so try to get as many cuts as possible out of each first roll.
- Wrap the dough around the length of the cannoli tube so the ends overlap. Keep a dish of water nearby and dab a bit of water on the seam to press the edges together firmly so they stick and don’t pop apart when frying (see image or video for visual).
- Once oil reaches a steady 375F (190C), use a pair of tongs to carefully lower 2-3 shells into the oil. Cook for 90-120 seconds or golden brown. Use tongs to carefully remove them from the oil and place on a cooling rack (place paper towels underneath for easy cleanup!).
- Allow to cool for several minutes then carefully remove the tube from the shell (you’ll need to wipe clean and reuse the tubes). I do this by using two paper towels to avoid having to touch the hot shell or tube.
- Repeat with remaining dough until you have fried all of your shells (always make sure oil returns to temperature before frying the next round of shells), then prepare your filling.
- Place your strained ricotta in a large bowl and stir in 1 ¾ cup (215g) powdered sugar and vanilla extract. In a separate bowl, combine heavy cream and ¼ cup (35g) powdered sugar and beat until you achieve stiff peaks.
- Stir together the ricotta mixture and the whipped cream until combined. Refrigerate in an airtight container until ready to fill and serve your shells.
- Pipe filling into cannoli shells (I used a Wilton 4B tip but any tip that fits into the shell will work!). If desired, sprinkle ends with mini chocolate chips or finely chopped nuts and dust shells with powdered sugar. Enjoy!
STORINGIdeally, fill the cannoli shells shortly before serving as they can become soggy. The dough for the shells may be prepared 3-5 days in advance of frying. Fried shells may be prepared and stored in an airtight container at room temperature for several days or in the freezer for several months before using. Filling may be assembled and stored in the refrigerator in an airtight container for up to 3-5 days before using. I don’t recommend freezing filled cannoli as the texture/quality of the filling may degrade.
Nutritional information is based on third-party calculations and should be considered an estimate only. Actual nutritional content will vary based upon brands used, measuring methods, cooking method, portion sizes, and more.