This four-layer cake is a unique twist on the Italian-American favorite but still has that traditional cannoli flavor.
- Heat oven to 350 degrees F. Coat two 8-inch round cake pans with butter, then dust with flour; shake out any excess.
- In a large bowl, whisk together the flour, baking powder, and salt.
- Using an electric mixer, beat the sugar and butter in a large bowl until light and fluffy. Beat in the eggs one at a time, then beat in the almond extract (if using). Reduce the mixer speed to medium and gradually add the flour mixture, alternating with the half-and-half, mixing just until combined; fold in 1/2 cup of the chocolate chips.
- Divide the batter between the prepared pans (about 3 1/2 cups each) and bake until a wooden pick inserted in the center comes out clean, 35 to 40 minutes. Let cakes cool in pans for 5 minutes, then invert onto a wire rack to cool completely.
- While the cakes cool, make the frosting. Using an electric mixer, beat the ricotta in a large bowl until smooth. Beat in the zests, cinnamon, and salt. Mix in the confectioners’ sugar until smooth. Add the heavy cream and, using the whisk attachment, beat on medium-high speed until thick and stiff, 3 to 4 minutes. Refrigerate until ready to use.
- Cut the cakes in half horizontally to create 4 layers. Arrange four 3-inch-wide strips of parchment or wax paper in a square around the edge of a serving plate (this will help keep the plate clean) and place 1 cake layer on the plate. Spread 1 cup frosting on top. Sandwich another layer of cake and repeat with the remaining layers, then frost the top and sides of the cake.
- Gently press the pistachios, cannoli shells, and remaining 1/2 cup chocolate chips onto the sides of the cake (use the parchment paper to help pat them on). Refrigerate until ready to serve (up to 2 days).