Preheat oven to 350°F. Grease your baking pan and line it with parchment paper.
In a large bowl beat the butter and sugar at medium speed for 3 minutes. Then add the eggs one by one until well incorporated.
Mix in the lemon zest, lemon extract, and vanilla extract.
Add the salt and baking powder to the flour and mix. Add half of these dry ingredients to your wet ones. Mix at low speed until the flour is mixed in well. Add the other half of the flour and mix. Mix in the milk.
Pour batter into your baking pan and bake for 30 minutes. Once done, take a fork and poke the cake in the middle to check for doneness. It should come out clean. Once your cake cools down, poke your cake all over with a fork.
Mix all three kinds of milk. Give it a good stir to make sure the condensed milk dissolves. Slowly pour them on top of your cake. Refrigerate your cake for at least 2 hours.
While the cake cools make your frosting. Add the heavy cream, sugar, cinnamon, vanilla, and lemon extract to a large bowl. Mix on medium-high speed for 8 minutes or until you form stiff peaks that don't flop. Spread the frosting evenly on top of the tres leches. Cover the cake and store it in your fridge until ready to eat.
Notes
1. Cake- This cake recipe makes a dense cake, not a sponge cake. The reason for this is that is intended to soak up all that good milk we add to it. This will result in a very moist cake full of that lemon tres leches flavor.2. Refrigeration- You must refrigerate your cake after adding all the milk for at least 2 hours. I always recommend 3 hours if you have time. Better yet you can make this the day before you intend to eat it. If you try to cut this cake before refrigerating, it will have bits and pieces come out.3. Storing- Make sure you store any leftover cake in an airtight container for no more than 5 days. You can leave the cake in the pan but ensure it is tightly covered with plastic or foil. This is to ensure it won't get any weird taste from other foods in your fridge.