Preheat oven to 350°F (175°C). Grease and flour a 9-inch cake or bundt pan.
Cream butter and sugar in a large bowl for 3–4 minutes until light and fluffy. Add eggs one at a time, beating well after each. Stir in vanilla extract.
In a separate bowl, whisk together flour, baking powder, and salt. Add dry ingredients to the butter mixture, alternating with milk—start and end with the flour mix.
Add dry ingredients to the butter mixture, alternating with milk—start and end with the flour mix. Pour batter into the pan and smooth the top.
Bake for 50–60 minutes, or until a toothpick comes out clean. Cool in the pan for 10 minutes, then turn out onto a wire rack to cool completely.
Beat softened butter until smooth and creamy. Sift in powdered sugar and cocoa powder, then mix on low until combined. Add heavy cream and vanilla extract gradually.