The search for the best chocolate buttercream frosting is over! This frosting is creamy, decadent and perfect for cakes, cookies or cupcakes!

I promised you the best chocolate frosting to go with that amazing chocolate cake, and here it is!

While a frosting recipe may not seem super complex, this chocolate buttercream took a bit of time, attention, and testing to get just right. It’s soft, creamy, rich, and perfect!

Swirly scoop of chocolate buttercream frosting on white spatula.

The First Secret for Perfect Frosting

Make sure to sift the cocoa powder.

I know this might be a somewhat annoying step, but it is really important. I tested this frosting many times without sifting and I was never able to avoid the itty bitty lumps of bitter cocoa powder.

So. Sift, please.

I don’t sift the powdered sugar because I haven’t seen a noticeable difference in doing so, but you definitely can sift the sugar if you’d like (and it’s probably a good idea if your powdered sugar is extra clumpy and lumpy).

Sifting cocoa powder into glass bowl with powdered sugar and butter.

At first, the frosting may look rather piece-meal, especially if using a handheld electric mixer, but with some mixing fortitude and milk, it’s going to come together in a creamy mess of frosting perfection.

Mixing dry ingredients into chocolate frosting with handheld electric mixer.

The Second Secret for Perfect Frosting

Use milk instead of heavy cream.

This might seem backwards. Wouldn’t we want to add cream for a super creamy frosting? That’s a natural assumption. But I found that heavy cream gave the frosting a curdled/grainy texture.

Using milk means the frosting can be mixed for a longer amount of time (which makes for a super fluffy, creamy frosting!) without getting weird and greasy on us.

Mixing chocolate buttercream frosting in glass bowl with mixer.

The Third Secret for Perfect Frosting

Press out air bubbles with a silicone spatula.

It’s very normal for air bubbles to form while frosting mixes and churns. Because we’re mixing this chocolate frosting for several minutes, you may notice tiny air bubbles in the frosting when it’s done.

To remove the air bubbles, take a large silicone spatula and fold the frosting over in large scoops while pressing through the frosting. Do this a couple of times until most of the air bubbles are gone.

Pressing out air bubbles in frosting with red rubber spatula.

A Frosting for Everything

This chocolate buttercream frosting is perfect for everything from cakes to cupcakes to cookies. It is super light and creamy with bold chocolate flavor.

Speaking of chocolate flavor, you can use either natural, unsweetened cocoa powder OR Dutch-process cocoa powder. The Dutch-process cocoa will lend a darker, richer flavor and color to the frosting. The frosting pictured in this post was made with natural, unsweetened cocoa powder (like Hershey’s).

And remember, there is no judging from the Mel camp if you whip up a batch of this next-level delicious frosting only to slather it on graham crackers and call it a day.

Spreading chocolate frosting on top of one round of chocolate cake.
rubber spatula swirling chocolate frosting in glass bowl

Perfect Chocolate Buttercream Frosting

4.99 stars (65 ratings)


  • 1 cup (227 g) butter, softened to room temperature (I use salted butter)
  • 3 ¾ cups (428 g) powdered sugar
  • ½ cup (43 g) natural, unsweetened or Dutch-process cocoa powder (see note)
  • Pinch salt
  • 1 teaspoon vanilla extract
  • 4 tablespoons milk (preferably not skim)


  • With a handheld electric mixer or in the bowl of a stand mixer fitted with the paddle or whisk attachment, mix the softened butter until light and creamy, 1-2 minutes. Scrape down the sides of the bowl as needed.
  • Add the powdered sugar. Sift the cocoa powder into the bowl.
  • Add the salt, vanilla and 2 tablespoons of the milk.
  • Mix on low speed, scraping down the sides of the bowl as needed, until the ingredients are mostly combined. The frosting may appear clumpy – it will smooth out with additional milk/cream and more mixing.
  • Add 1-2 tablespoons of the remaining milk, increase the speed to medium, and continue mixing for 1-2 minutes until the frosting is creamy and fluffy, scraping down the sides of the bowl as needed.
  • Add additional milk for softer frosting, or add more powdered sugar for thicker frosting.
  • Press through the frosting with a silicone spatula to get rid of air bubbles, if needed. Use the frosting immediately (this is preferred), or store in the refrigerator, covered, for several days. If using out of the refrigerator, add 1-2 teaspoons milk and beat with a mixer until creamy.


Cocoa Powder: this recipe works well with natural, unsweetened cocoa powder (like Hershey’s brand) or Dutch-process cocoa. Dutch-process cocoa will give the frosting a deeper, richer chocolate flavor and color. The frosting in the pictures of the post was made with natural, unsweetened cocoa powder. 
Frosting: this frosting can be easily spread with an offset spatula or it can be piped using a large piping tip (for cupcakes and cake decorations). If piping the frosting, add a bit less milk so the frosting isn’t too soft.
Heavy Cream: in my testing, subbing in heavy cream for the milk gave the frosting a slightly curdled texture. I prefer using milk for this frosting. With milk, the frosting can sustain longer mixing times so it’s light and fluffy with out turning curdled/grainy.