Imagine biting through a toasty, cinnamon-scented almond flour shell into a cloud of sweet ricotta and mascarpone cream studded with dark chocolate and brightened by fresh orange zest. These cannoli cups capture everything you love about the iconic Sicilian pastry — the shattering crunch, the lush filling, the play between bitter chocolate and citrus — without a single grain of sugar or wheat flour. The air fryer gives the cups a golden, evenly crisp shell using barely a tablespoon of butter, so they're lighter than traditional deep-fried cannoli but just as satisfying.
Each serving delivers roughly 41 grams of fat from the rich combination of whole-milk ricotta, mascarpone, cream cheese, and almonds, with only 6 grams of net carbs. That puts these firmly in keto territory, where fat is fuel and desserts don't require compromise. The 15 grams of protein per serving — mostly from ricotta and almond flour — give the treat some staying power, so it works as a proper after-dinner sweet rather than a quick sugar spike that leaves you reaching for more.
The entire recipe comes together in about 40 minutes, with most of that being hands-off air fryer time and cooling. You make one small bowl of dough, press it into silicone cups, air fry, and whip together the filling while you wait. No rolling pin, no piping bags, no pastry skill required. They're a showstopper for dinner parties, but simple enough for a Tuesday night when you just want something sweet.
Ingredients (serves 4)
For the cannoli cups:
- 3/4 cup (72g) blanched almond flour
- 2 oz (56g) cream cheese, softened
- 1 large egg
- 1 tablespoon (14g) unsalted butter, melted
- 2 tablespoons granulated erythritol
- 1/2 teaspoon ground cinnamon
- Pinch of fine sea salt
For the ricotta filling:
- 1 cup (246g) whole-milk ricotta cheese
- 1/2 cup (113g) mascarpone cheese
- 3 tablespoons powdered erythritol (or monk fruit sweetener blend)
- 1 teaspoon pure vanilla extract
- 1 tablespoon finely grated orange zest (about 1 large orange)
- 1 oz (28g) dark chocolate (85% cacao or higher), finely chopped
For the garnish:
- 2 tablespoons shelled pistachios, roughly chopped
- Dark chocolate shavings
- Fresh orange zest curls
Instructions
Make the dough. In a medium bowl, combine the almond flour, softened cream cheese, egg, melted butter, granulated erythritol, cinnamon, and salt. Mix with a fork until everything is evenly incorporated, then knead briefly with your hands until a smooth, slightly sticky dough forms. If it feels too soft to hold its shape, refrigerate it for 10 minutes.
Shape the cups. Divide the dough into 8 equal portions, about 1 tablespoon each. Press each portion into a silicone mini muffin cup or small oven-safe ramekin (roughly 2 inches / 5cm across), pushing the dough evenly up the sides to form a cup about 1/4 inch (6mm) thick. Prick each base once or twice with a fork to prevent puffing. The walls don't need to be perfect — uneven, rustic edges look beautiful and bake up extra crisp.
Preheat the air fryer to 325°F (163°C) for 2 minutes. Arrange the filled silicone cups in the basket in a single layer with space between each for air to circulate. Depending on your air fryer size, you may need to work in two batches.
Air fry for 10–12 minutes until the cups are golden brown and firm when you press the edge gently with a fingertip. The rims will darken first — that toasty color adds a nutty, almost biscotti-like flavor. Remove the basket carefully and let the cups cool completely in their molds, about 8–10 minutes. They'll firm up as they cool. Gently unmold once set.
Make the filling while the cups cool. In a clean medium bowl, whisk together the ricotta, mascarpone, powdered erythritol, vanilla extract, and orange zest until smooth and slightly fluffy, about 1–2 minutes of vigorous whisking by hand (or 30 seconds with an electric hand mixer on low). Fold in the chopped dark chocolate with a spatula, distributing it evenly throughout.
Fill and garnish. Spoon or pipe the ricotta mixture generously into each cooled cup, mounding it slightly above the rim. Scatter the chopped pistachios over the tops, add a few dark chocolate shavings, and finish each with a curl of fresh orange zest.
Serve immediately for the best contrast between crispy shell and cool, creamy filling. Alternatively, refrigerate the filled cups for up to 2 hours before serving — the cups will soften slightly but remain pleasantly firm. Two cups make one serving.
Nutrition per Serving
| Nutrient | Amount |
|---|---|
| Calories | ~445 kcal |
| Fat | ~41g |
| Protein | ~15g |
| Total Carbs | ~9g |
| Fiber | ~3g |
| Net Carbs | ~6g |
Nutrition is approximate and based on the stated ingredients. Actual values may vary by brand; erythritol is excluded from carb and calorie counts as it has no glycemic impact.
Tips & Variations
Drain your ricotta for a thicker, richer filling. Supermarket whole-milk ricotta often contains more whey than fresh deli ricotta, making it watery and thin. Before mixing, spoon it into a fine-mesh strainer set over a bowl and let it drain for 15–20 minutes. This concentrates the creamy richness, helps the filling hold its shape inside the cups, and prevents soggy bottoms. If your ricotta already feels dense and dry (like the tub from a good Italian deli), you can skip this step.
Pick the right sweetener for each component. Granulated erythritol works best in the cup dough because it holds its structure during baking. For the filling, powdered erythritol dissolves smoothly and avoids gritty texture. Allulose is an excellent alternative for the filling — it doesn't crystallize and produces an even silkier consistency. Avoid liquid stevia in the dough (it throws off the moisture balance), though a few drops can boost sweetness in the filling if your erythritol brand runs mild.
Turn the filling into a standalone cannoli dip. Skip the cups entirely and serve the ricotta-mascarpone filling in a small bowl, topped with the chocolate and pistachios, alongside almond flour crackers, celery sticks, or even just a spoon. The filling holds well in the fridge for up to three days in a sealed container, making it a zero-effort make-ahead dessert for guests.
Watch the cacao percentage on your chocolate. Not all dark chocolate qualifies for keto. Standard 70% bars carry roughly 10–12g net carbs per ounce — enough to push a single serving of this dessert over the limit. Stick to 85% cacao or higher, and look for bars sweetened with stevia or erythritol (Lily's and ChocZero are reliable keto options) for the lowest carb count. When in doubt, read the label: you want 4g net carbs per ounce or less.
Try a splash of Marsala for an adults-only variation. One tablespoon of dry Marsala wine whisked into the filling adds authentic Sicilian depth — a subtle, wine-like warmth that pairs beautifully with the orange and chocolate — for about 1g of extra carbs. Sugar-free amaretto syrup is another option that adds almond-cherry notes without any carbs at all. Either addition turns this from a weeknight treat into something you'd be proud to serve at a dinner party.