Strain the ricotta the night before and let it sit overnight.*
Make the Cannoli Shells
Mix together the flour, sugar and salt in a large mixing bowl.
Cube the butter into small chunks then, add to the flour mixture. Mix until it resembles lumpy breadcrumbs. You can do this in a food processor, a stand mixer or by rubbing the butter into the flour by hand.
Add the egg and marsala wine to the bowl and mix together just until a rough dough forms. If it needs more liquid, add a little splash more of the marsala wine and keep mixing. Don't overmix.
Once it comes together into a raggedy dough, tip the mixture out and finish off the dough by hand, kneading on a floured work surface.
Knead the dough until it looks smooth. Form into a round shape and wrap in plastic wrap. Leave on the countertop to rest for 2 hours.**
Roll out the dough as thinly as possible. It is quite an elastic dough, so this requires some patience and perseverance. If you have a pasta maker, then that can make this process easier, but it will work just fine with a rolling pin and patience. Ideally, it should be thin enough that you can see your fingers through it.
Cut the thinly rolled dough into rounds. The longer you want your cannoli shells to be, the larger you should cut your circles (but no longer than the cannoli tubes).
Wrap your dough circles around the cannoli tubes and seal with a little egg wash. Press firmly on the seam to prevent the cannoli shell from unraveling.
To Deep Fry
Fill a saucepan with vegetable oil at least 4 inches deep. Heat the oil on medium-low heat to let it slowly come up to 350°F /180°C. Check the temperature regularly with a thermometer, you may have to regulate it to keep it at the right temperature as you fry. (You can preheat the oil while you are rolling out your cannoli dough to save time.)
Use a metal slotted spoon to carefully lower 2 or 3 cannoli shells into the hot oil - they should start bubbling up immediately.
Cannoli shells cook very quickly, so keep an eye on them - it will only take a minute or two on each side. Tip: Because of their shape, the shells tend to bob to one side even if you try to flip them. You can use a pair of metal tongs to hold them on the resistant side for 30 seconds at a time, switching between the shells in the oil so they all get an even amount of cooking time.
Once the cannoli shells are golden brown on all sides, use the slotted spoon to remove them from the hot oil and transfer them to a wire rack lined with paper towels to soak up any excess oil. Leave them on the metal tubes for now while you fry the next batch.
By the time you have fried the next batch, the first batch should be cool enough to slide them off the metal tubes. Be very careful as the tubes will still be hot, and the shells are super fragile. Your fried shells should be golden brown, flaky and covered in those famous bubbles all over the shell - that's the sign of great cannoli!
To Air Fry
Once the first lot of cannoli tubes are 'dressed' brush your air fryer basket lightly with a little oil and preheat to 400°F / 205°C.
Once the air fryer is preheated, place the first batch of cannoli shells into the basket, making sure they do not touch each other. Cook for 4-5 minutes, or until golden brown. There is no need to flip the shells over halfway through.
Once the cannoli shells are evenly golden brown, remove them from the air fryer and place them on a cooling rack covered with paper towels.
Start air frying the next batch of shells. Once the second batch is cooked, the first batch should have cooled enough for you to carefully remove them from the cannoli tubes so you can reuse them with the next lot of dough rounds.
Make the Cannoli Filling
Add the ricotta, powdered sugar, cinnamon and vanilla to a bowl and beat until it is smooth and well combined.
Add the chocolate chips and stir until evenly distributed.
Put the cannoli filling in a piping bag and snip off the end. Pipe into the cooled cannoli shells right before serving.
For extra crunch, dip the ends of the cannoli shells in some more chocolate chips.
Serve immediately. If the cannoli are for later, I recommend storing the shells and filling separately and filling them right before serving.
Notes
*To strain the ricotta, wrap it in a cheesecloth and place it in a sieve over a large bowl. Place a plate with something heavy on top of the wrapped ricotta to force the excess liquid out. Put it in the fridge like this and leave it overnight. **If you want to prepare the cannoli dough in advance, you can make it the day before and leave it in the fridge overnight. Just bring it back down to room temperature before rolling it out. I have tested making this dough up to two days in advance and it still works great.