Preheat oven to 325°F. Line a 9-inch spring form pan with parchment paper and spray the sides with non-stick cooking spray.
In a medium bowl, mix graham cracker crumbs, crushed cannoli shells, melted butter, and sugar until combined. Press the mixture firmly into the bottom of the pan.
Bake the crust for 10 minutes. Then wrap the pan in a double layer of aluminum foil.
Reduce oven temperature to 300°F.
In a large bowl, combine ricotta cheese, mascarpone cheese, sugar, and flour until smooth and creamy. Stir in cinnamon and vanilla extract.
Add eggs one at a time, mixing just until combined without overmixing.
Spread the batter evenly over the baked crust.
Place the spring form pan inside a large roasting pan filled with warm water halfway up the pan sides.
Bake for 105–115 minutes or until the edges are set but the center still slightly jiggles.
Turn off the oven and leave the cheesecake inside for 30 minutes with the door closed.
Crack the oven door open and let the cheesecake sit for another 30 minutes.
Remove from oven and cool completely before adding the topping.
In a large chilled bowl, whisk heavy cream, powdered sugar, ricotta cheese, and vanilla extract until stiff peaks form.
Spread the whipped cream evenly over the cooled cheesecake and garnish with mini chocolate chips and powdered sugar if desired.
Store the cheesecake in the refrigerator until ready to serve.