Preheat your oven to 350°F. Grease and line an 8x8-inch baking pan with parchment paper for easy lifting.
In a large bowl, whisk together the melted butter and sugar until smooth and glossy.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Sift in the cocoa powder, flour, salt, and baking powder. Mix gently just until combined — don’t overmix or the cake can turn tough.
Stir in the sour cream and milk until the batter is thick and silky. It will look rich and dark.
Spread the batter evenly in the prepared pan. Bake for 32–38 minutes, or until the center is set and a toothpick comes out with moist crumbs. For that fudgy texture, don’t overbake.
Let the cake cool completely in the pan before frosting. This helps the fudge frosting stay thick and beautiful on top.
For the frosting, beat the softened butter until creamy. Add cocoa powder and mix until smooth.
Gradually add powdered sugar, alternating with heavy cream. Beat until thick, glossy, and spreadable. Stir in vanilla and a pinch of salt to deepen the chocolate flavor.
Spread the fudge frosting generously over the cooled cake, creating soft swirls with a spatula for that bakery-style finish.
Slice into big squares and serve at room temperature for the richest, fudgiest bite.
