Using a large bowl, add the flour, sugar, yeast and salt; stir until well combined.
In a separate bowl, add the softened butter, egg and milk; using an electric mixer, mix on low speed until well combined. Pour the liquid mixture into the bowl with the dry ingredients; mix on low speed until well combined and dough separates from sides of the bowl.
Cover and let dough rise in a warm place for 45 minutes.
Spray a 9” springform pan generously with nonstick baking spray.
Once dough has risen, press evenly into bottom of prepared pan.
For the Middle Layer
Using a medium mixing bowl, add instant pudding and milk; stir until well combined. Let sit for 5 minutes to thicken.
Using a large bowl, add the ricotta, sour cream, sugar, lemon juice and ⅓ of the prepared pudding; stir until well combined. (Note: The remaining ⅔ of the pudding will be used for the top layer.)
Spread this mixture evenly on top of the crust layer.
For the Top Layer
Preheat oven to 350°F.
Using an electric mixer, beat egg whites (6 in total) until stiff peaks form; set egg whites aside.
In a separate bowl, add egg yolks (4 in total) and sugar; whisk until light yellow in color.
Add remaining ⅔ of the pudding to the egg yolk mixture; stir until well combined.
Gently fold the egg whites into the egg yolk mixture.
Spread egg mixture evenly on top of the middle layer.
Bake for 40 minutes and then tent top with foil. Continue baking for 65-70 more minutes or until a toothpick inserted into the center of the cake comes out mostly clean. (Note: The custard layer may make the toothpick look wet. Use your judgment to determine if any moisture on the toothpick is from the custard layer versus an underbaked filling.)
Let cake cool for 20 minutes at room temperature. Transfer cake to refrigerator and let cool completely before removing from pan and serving.
{Optional} Dust top of cake lightly with powdered sugar before serving.