Preheat the oven to 350˚F. Grease and flour a 9x13-inch pan or two 9-inch round pans; set aside.
Sift flour, baking powder, and salt together; set aside.
In a large mixing bowl, beat butter and sugar until creamy and fluffy. Add the eggs, one at a time, beating well after each addition. Add the vanilla extract and mix well
Add the dry ingredients alternating with the milk to the butter mixture and stir well.
Pour the batter into a prepared pan and bake for 30-40 minutes. If using two 9-inch round pans, bake for 25-30 minutes. Let the cake cool completely. If using 9x13-in pan, you can cool the cake in a pan, If using the two round pan, after cooling in a pan for 10 minutes, turn out the cake to a cooling rack and cool completely.
For the chocolate frosting
Put unsweetened chocolate pieces in a small microwave-safe mixing bowl and microwave for 90 seconds, stirring halfway through. Stir the chocolate well until you melt them completely. Set aside to cool.
Cream butter and powdered sugar until fluffy. Add the cooled chocolate and vanilla extract and continue to beat. Adjust the amount of powdered sugar until your get the desired consistency.
Spread the frosting over the cake and serve. The leftover cake can last in the room temperature for 3 days or chill in the fridge up to a week.
If you want your cake to be more soft and moist, use buttermilk instead of regular whole milk. If doing so, increase the amount of buttermilk to 1-1/4 cup, and add 1 tsp of baking soda to the dry ingredients.