You’ll Need :

FOR THE CAKE
3 cups all purpose flour
6 tablespoons cocoa powder
1 1/2 teaspoon baking soda
1 teaspoon salt
10 tablespoons vegetable or canola oil
2 tablespoons vinegar
2 teaspoons vanilla
2 cups cold water
2 cups granulated sugar

FOR THE CREAM FILLING

1/4 cup flour
1 cup cold milk
1 cup sugar
1 teaspoon vanilla
1 cup butter, softened

FOR THE CHOCOLATE FROSTING

10 tablespoons butter, melted
6 tablespoons cocoa
2 1/2 tablespoons hot water
1 teaspoon vanilla
3 cups powdered sugar
1 egg (optional) It will be raw, see my note in the post

Directions :
Preheat oven to 350 F. In a large bowl, whisk together the flour, cocoa, baking soda, and salt. Add the remaining ingredients and whisk until smooth. Pour into a greased 9 x 13 inch baking pan. Bake for 25-30 minutes or until a toothpick inserted comes out clean.
Let cool completely. Meanwhile, start the filling. Whisk together the flour and cold milk in a saucepan. Cook over low heat until bubbly and thick. Set aside to cool. When cool, add the sugar vanilla and butter, beat until smooth and fluffy. A stand mixer is best for this. If it doesn’t look like it’s coming together, just keep beating it. Spread onto the cooled cake.
To make the frosting. Beat together the butter, cocoa, hot water, vanilla, powdered sugar and egg (if desired). The egg will be raw, so only use if you are comfortable eating raw egg. The frosting will be fine without it, but the egg gives it a silky richness. Use a pasteurized egg if you can find it.
Spread frosting over cream filling. Chill for 30 minutes before serving.