Crust: Preheat oven to 350°F. Grease and line the sides of a 9-in springform pan. Add graham crackers, sugar, and cinnamon to the bowl of a food processor and process until crumbs. Mix in the melted butter until the crumbs are evenly moistened. Transfer the crumb mixture to the springform pan and press it evenly into the bottom and sides of the pan. Bake for 10 minutes. Remove from the oven and set aside.
Filling: Reduce the oven temperature to 325°F. In the bowl of a stand mixer fitted with the whisk attachment or in a large mixing bowl using a hand mixer, beat the eggs with the sugar until creamy.
Add the cream cheese, sour cream, vanilla, lemon zest, lemon juice, and semolina. Beat until smooth.
In a clean bowl, whip the heavy cream until thickened using a stand mixer fitted with the whisk attachment or a hand mixer. Fold the whipped cream into the cream cheese mixture. Pour the filling into the springform pan and spread evenly over the base.
Topping: To prepare the topping, mix the flour, brown sugar, and almonds in a small bowl. Add the melted butter and stir with a fork until the mixture comes together in small lumps. Stir in berries. Sprinkle the streusel topping over the cheesecake filling.
Bake for 75-90 minutes, until the top is golden brown and there is a slight jiggle when you gently shake the pan. Turn the oven off and leave the door ajar. Let the cheesecake cool in the oven for 1 hour to set. Refrigerate the cheesecake for at least 4 hours but preferably overnight.
Once the cheesecake has completely set, carefully remove from pan and transfer to serving plate. Slice and enjoy! Store any leftovers covered in the refrigerator for up to 3 days.