Preheat the oven to 350°F. Coat a 9×13-inch pan with cooking spray, olive oil, or butter. Set aside.
In a large bowl, add the flour, sugar, cocoa powder, baking powder, baking soda, cinnamon, and salt. Stir to combine.
Add 2 cups of milk, the vegetable oil, eggs, and vanilla extract. Whisk together until well combined and smooth.
Pour the batter into the prepared pan and bake for 30 to 35 minutes, or until a toothpick inserted into the center comes out clean. Set aside to cool for 10 minutes while you make the three milk mixture.
In a medium bowl, add the remaining 1 cup of milk, the sweetened condensed milk, and evaporated milk. Whisk together to combine.
Using a knife or a spatula, gently unstick the sides of the cake from the pan. Then, poke holes all over the cake using a skewer or a large fork.
Gradually pour the three milk mixture over the cake. Cover and refrigerate for at least two hours to let the cake fully cool and absorb the liquid.
While the cake cools, make the whipped topping. In a large bowl, add the heavy cream, sugar, cocoa powder, and vanilla extract.
Beat on high speed using a handheld or stand mixer until soft peaks form. Cover and refrigerate until ready to use.
When the cake has cooled completely, top with the whipped topping and garnish with chocolate shavings, if desired.
Notes
Make ahead: This cake can be made up to 3 days ahead of time and stored in the fridge until ready to serve. However, I recommend leaving the whipped topping off until right before serving.
Storage: Cover and refrigerate any leftover cake for up to 4 days.