Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 1/2 cups (300 g) cake flour
- 2 1/2 tsp baking powder, 1/2 tsp baking soda, 1/2 tsp fine salt
- 1/2 cup (115 g) unsalted butter, 1/2 cup (120 ml) neutral oil
- 1 3/4 cups (350 g) sugar
- 4 large eggs
- 1 cup (250 g) ricotta (for cake) + 2 cups (480 g) ricotta (for filling)
- 1 cup (240 ml) whole milk
- 2 tsp vanilla, 1 tsp orange zest
- 1 1/3 cups (160 g) powdered sugar (cake/filling) + 1 cup (120 g) for frosting
- 1/3 cup (60 g) mini chocolate chips; 1/4 cup (40 g) candied orange peel
- 16 oz (450 g) mascarpone cheese
- 1 1/2 cups (360 ml) cold heavy cream
- 1/2 cup (60 g) chopped pistachios; 8–10 mini cannoli shells
Do This
- 1. Drain ricotta in a sieve; preheat oven to 350°F (175°C). Grease and line three 8-inch round cake pans.
- 2. Mix dry cake ingredients. Cream butter, oil, and sugar; beat in eggs, ricotta, vanilla, and zest. Alternate adding dry ingredients and milk. Divide into pans and bake 22–26 minutes.
- 3. Cool cakes completely; level tops if needed.
- 4. Beat drained ricotta with powdered sugar, vanilla, cinnamon, mini chocolate chips, and candied orange peel for the cannoli filling; chill.
- 5. Beat mascarpone, powdered sugar, and vanilla until smooth; slowly whip in cold cream until thick and spreadable.
- 6. Layer cake: cake round + ricotta filling + cake + filling + top cake. Chill briefly.
- 7. Frost with mascarpone frosting; press pistachios onto sides/top and decorate with mini cannoli shells and extra chocolate chips or orange peel.
Why You’ll Love This Recipe
- All the flavors of a classic Italian bakery cannoli wrapped up in a show-stopping layer cake.
- Light vanilla-ricotta sponge stays wonderfully moist and tender under creamy fillings.
- Mascarpone whipped frosting is not too sweet, so the citrus, chocolate, and ricotta really shine.
- Perfect make-ahead dessert for holidays, birthdays, or special Sunday dinners.
Grocery List
- Produce: 2–3 oranges (for zest and optional peel), fresh flowers or herbs for garnish (optional)
- Dairy: Whole-milk ricotta (about 3 cups total), mascarpone (16 oz), heavy cream, unsalted butter, whole milk, eggs
- Pantry: Cake flour, granulated sugar, powdered sugar, baking powder, baking soda, fine sea salt, vanilla extract, ground cinnamon, neutral oil, mini chocolate chips, candied orange peel, shelled pistachios, mini cannoli shells, optional orange liqueur
Full Ingredients
For the Vanilla–Ricotta Cake Layers
- 2 1/2 cups (300 g) cake flour
- 2 1/2 tsp baking powder
- 1/2 tsp baking soda
- 1/2 tsp fine sea salt
- 1/2 cup (115 g) unsalted butter, softened to room temperature
- 1/2 cup (120 ml) neutral oil (such as canola or grapeseed)
- 1 3/4 cups (350 g) granulated sugar
- 4 large eggs, at room temperature
- 1 cup (250 g) whole-milk ricotta cheese, at room temperature
- 1 cup (240 ml) whole milk, at room temperature
- 2 tsp pure vanilla extract
- 1 tsp finely grated orange zest
For the Cannoli Ricotta Filling
- 2 cups (480 g) whole-milk ricotta cheese, very well drained
- 1 cup (120 g) powdered sugar, sifted
- 1 tsp pure vanilla extract
- 1/4 tsp ground cinnamon
- 1/8 tsp fine sea salt
- 1–2 Tbsp orange liqueur or fresh orange juice (optional, for flavor)
- 1/3 cup (60 g) mini semisweet chocolate chips
- 1/4 cup (40 g) finely chopped candied orange peel
For the Mascarpone Frosting
- 16 oz (450 g) mascarpone cheese, cold but slightly loosened
- 1 cup (120 g) powdered sugar, sifted
- 1 1/2 tsp pure vanilla extract
- 1/4 tsp almond or orange extract (optional)
- 1 1/2 cups (360 ml) cold heavy cream
For the Optional Orange Simple Syrup (for extra-moist layers)
- 1/3 cup (80 ml) water
- 1/3 cup (65 g) granulated sugar
- 1 strip orange peel or 1/4 tsp orange extract (optional)
For Decoration
- 1/2 cup (60 g) finely chopped shelled pistachios
- 8–10 mini cannoli shells
- Extra mini chocolate chips and candied orange peel, for sprinkling (optional)

Step-by-Step Instructions
Step 1: Prep the Ricotta, Pans, and Oven
At least 1–2 hours before you plan to assemble the cake, drain the ricotta for the filling so it is thick and not watery. Place 2 cups (480 g) ricotta in a fine-mesh sieve lined with cheesecloth or a clean kitchen towel set over a bowl. Cover and refrigerate to drain excess liquid. The drier the ricotta, the thicker and more stable your filling will be.
When you are ready to bake, preheat your oven to 350°F (175°C). Grease three 8-inch (20 cm) round cake pans with butter or baking spray, then line the bottoms with parchment rounds. Lightly grease the parchment as well. This will help the delicate layers release cleanly.
If using the optional orange simple syrup, you can make it now: combine 1/3 cup water, 1/3 cup sugar, and the strip of orange peel in a small saucepan. Bring just to a simmer, stir to dissolve sugar, then remove from heat and let cool completely. Discard the peel before using.
Step 2: Mix and Bake the Vanilla–Ricotta Cake Layers
In a medium bowl, whisk together the cake flour, baking powder, baking soda, and salt. Set aside. In a large mixing bowl (or the bowl of a stand mixer fitted with the paddle), beat the softened butter, oil, and granulated sugar on medium-high speed for 3–4 minutes, until very light and fluffy. Scrape down the bowl as needed.
Add the eggs one at a time, beating well after each addition until the mixture is smooth and slightly thickened. Beat in 1 cup ricotta, vanilla, and orange zest until fully combined; the batter may look a bit creamy and thick, which is perfect.
On low speed, add the dry ingredients in three additions, alternating with the milk in two additions (dry, milk, dry, milk, dry). Mix just until the last streaks of flour disappear; do not overmix. Divide the batter evenly among the three prepared pans (about 2 cups batter per pan) and smooth the tops.
Bake at 350°F (175°C) for 22–26 minutes, or until the layers are lightly golden, spring back when gently touched, and a toothpick inserted in the center comes out clean or with a few moist crumbs.
Step 3: Cool and Level the Cake Layers
Let the cakes cool in their pans on a wire rack for 10–15 minutes. Then carefully run a thin knife around the edges, invert each layer onto the rack, peel off the parchment, and allow to cool completely, about 45–60 minutes. Cool layers are essential so the filling and frosting do not melt or slide.
Once fully cool, assess the tops of the cakes. If they are domed, use a long serrated knife to gently level them so you have flat, even layers. Brush the tops of each layer lightly with the cooled orange simple syrup, if using. Do not soak; just a light brush adds moisture and a hint of citrus.
Step 4: Make the Cannoli Ricotta Filling
Remove the drained ricotta for the filling from the refrigerator and transfer it to a mixing bowl. It should be thick and spoonable, with most of the excess liquid gone. Add the powdered sugar, vanilla, cinnamon, and salt. If using, add the orange liqueur or orange juice. Beat with a hand mixer on medium speed, or whisk vigorously by hand, until smooth, creamy, and slightly fluffy, 1–2 minutes.
Fold in the mini chocolate chips and chopped candied orange peel with a spatula until evenly distributed. Taste and adjust sweetness or citrus to your liking. Cover and refrigerate the filling until you are ready to assemble; it will firm up slightly as it chills, which makes layering easier.
Step 5: Whip the Mascarpone Frosting
In a large chilled mixing bowl, add the mascarpone, powdered sugar, vanilla, and optional almond or orange extract. Beat on low speed just until smooth and combined, 30–60 seconds. Do not overbeat or the mascarpone can become grainy.
With the mixer on medium-low, slowly stream in the cold heavy cream. Once all the cream is added, increase the speed to medium-high and whip until the frosting is thick, smooth, and holds medium-stiff peaks, 2–3 minutes. The texture should be like a sturdy whipped cream that spreads easily but keeps its shape. If it starts to look grainy, stop immediately.
Refrigerate the frosting for 15–20 minutes if it feels too soft to work with, or keep it chilled while you begin assembling the cake.
Step 6: Layer the Cake with Cannoli Filling
Place a small dot of mascarpone frosting in the center of your serving plate or cake board to act as “glue.” Set one cake layer, cut-side up, on the plate. If you plan to move the cake, you can place a cake board under the first layer.
Give the ricotta filling a quick stir. Spread half of the filling over the first layer, staying about 1/4 inch from the edge to prevent it from squeezing out. Place the second cake layer on top, cut-side up, and gently press to settle it. Spread the remaining ricotta filling over this layer the same way.
Top with the final cake layer, cut-side down, to give a smooth surface for frosting. Check that the layers are stacked straight; adjust gently if they are leaning. Chill the stacked cake for 15–20 minutes to firm up the filling before frosting.
Step 7: Crumb-Coat and Frost the Cake
Using an offset spatula, spread a thin layer of mascarpone frosting over the top and sides of the chilled cake to create a crumb coat. This layer catches any loose crumbs and seals the cake. Do not worry if it looks imperfect. Chill the cake for 20–30 minutes until the crumb coat is firm to the touch.
Once chilled, apply a thicker, even layer of mascarpone frosting over the top and sides. Smooth the sides with a bench scraper or offset spatula for a clean look, or create soft swoops for a more rustic, Italian bakery style finish. Reserve a little frosting for piping a border on top if you like.
Step 8: Decorate with Pistachios and Mini Cannoli
Press the chopped pistachios gently into the lower sides of the cake or around the bottom edge to form a pretty green border. Sprinkle more pistachios over the top if desired. If using extra mini chocolate chips and candied orange peel, scatter them lightly over the top surface.
Pipe small rosettes or dollops of mascarpone frosting around the top edge of the cake and gently nestle a mini cannoli shell into every other rosette, or arrange them circling the top like a crown. Chill the finished cake for at least 30–60 minutes before slicing to let the layers set. Slice with a sharp, clean knife, wiping the blade between cuts for the neatest slices.
Pro Tips
- Drain the ricotta well. This is the most important step for a thick, stable cannoli filling. If your ricotta is very wet, drain it even longer or gently press out excess moisture with a spoon in the sieve.
- Use room-temperature ingredients for the cake. Room-temperature eggs, ricotta, and milk help the batter emulsify properly, giving you a tender, even crumb.
- Chill between stages. Briefly chilling the stacked but unfrosted cake, then again after the crumb coat, keeps the layers from sliding and makes frosting much easier.
- Do not overwhip the mascarpone. Stop as soon as the frosting is thick and smooth; overbeating can cause it to become grainy or separate.
- Slice with a hot, dry knife. Run your knife under hot water and dry it before each cut for clean, bakery-style slices that show off the layers.
Variations
- Almond–Pistachio Cannoli Cake: Replace 1/2 tsp of the vanilla in the cake with almond extract and add 1/4 cup finely chopped pistachios to the batter for extra nutty flavor.
- Chocolate Chip Cannoli Cake: Fold 1/2 cup mini chocolate chips into the cake batter itself and increase the chocolate chips in the filling to 1/2 cup.
- Single-Layer or Sheet Cake: Bake the batter in a 9×13-inch pan (bake 30–35 minutes), top with a thicker layer of ricotta filling and then mascarpone frosting for an easier, rustic-style dessert.
Storage & Make-Ahead
This cake must be stored in the refrigerator because of the ricotta and mascarpone. Cover the assembled cake loosely with plastic wrap or keep it in a cake carrier and refrigerate for up to 3 days. For the best texture, let slices sit at room temperature for 20–30 minutes before serving so the frosting and filling soften slightly.
You can bake the cake layers up to 2 days ahead. Once cooled and leveled, wrap each layer tightly in plastic wrap and store at room temperature for 1 day or in the refrigerator for 2 days. The ricotta filling and mascarpone frosting can be made up to 1 day in advance and stored separately in airtight containers in the refrigerator; stir gently before using. Assembled cake can be made the day before serving, which actually improves the melded flavors.
Nutrition (per serving)
Approximate values for 1 of 12 servings: about 620 calories; 8 g protein; 55 g carbohydrates; 38 g fat; 23 g saturated fat; 190 mg cholesterol; 270 mg sodium; 1 g fiber; 40 g total sugars. These values are estimates and will vary based on exact ingredients and decorations used.

