Preheat your oven to 350°F (175°C).
In a mixing bowl, combine flour, cocoa powder, baking powder, and sugar. Whisk until combined.
In another bowl, mix ricotta cheese, eggs, oil, and vanilla until smooth.
Pour the wet ingredients into the dry mixture and stir until just combined.
Pour the batter into a greased cake pan, distributing it evenly.
Bake for 30-35 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cake to cool in the pan for 10 minutes, then transfer to a wire rack to cool completely.
While the cake cools, prepare the pudding frosting by whisking together milk and chocolate pudding mix for 2 minutes.
Once thickened, spread the pudding frosting over the cooled cake.
Garnish with whipped cream if desired, then slice and serve.