Prep the chocolate: Melt the semisweet chocolate in short bursts in the microwave or over a double boiler. Stir until smooth, then set aside to cool to just warm. If itβs hot, it will melt the butter.
Beat the butter: In a large bowl, beat butter on medium-high for 2β3 minutes until pale and fluffy. This step sets the foundation for a light buttercream.
Add cocoa and salt: Sift the cocoa directly over the bowl. Add salt and espresso powder if using. Beat on low until the cocoa mixes in, then increase to medium for 30 seconds.
Incorporate sugar gradually: Add powdered sugar 1 cup at a time, beating on low at first to prevent a sugar cloud, then on medium until fully combined. Scrape the bowl and beater often.
Blend in vanilla and cream: Add vanilla and 2 tablespoons cream. Beat until smooth. Add more cream, 1 tablespoon at a time, until the frosting looks creamy and spreadable.
Stream in the melted chocolate: With the mixer on low, slowly pour in the cooled melted chocolate. Beat until incorporated, then whip on medium-high for 1β2 minutes until fluffy and glossy.
Adjust consistency: If too thick, add cream by the teaspoon. If too soft, add 2β4 tablespoons more powdered sugar and beat again.
De-bubble for piping: For ultra-smooth piping, switch to a spatula and fold the frosting a few times to push out excess air pockets.