Chocolate Cake with Chocolate Cream Cheese Frosting
This Chocolate Cake with Chocolate Cream Cheese Frosting is the most amazing chocolate cake with sour cream, buttermilk, and unsweetened cocoa. Add to that my amazingly rich and silky smooth chocolate cream cheese frosting and you have the most decadent chocolate cake!
This is one of my family’s all-time favorite chocolate cake recipes! When we have this cake — for a birthday celebration, anniversaries, holidays, you name it! — my taste buds do a happy dance and all is right in the world … until the last slice is eaten! Then it’s time for more chocolate cake recipes like my Chocolate Cake Pops, Chocolate Cake with Peanut Butter Frosting, German Chocolate Cake, and Chocolate Cupcakes!
Why This Recipe Works
- Rich chocolate cake. This chocolate cake recipe makes 2 rich chocolate cake layers. Adding warm water to the cake batter helps to bloom the cocoa powder, giving us the rich chocolate flavor.
- Chocolate cream cheese frosting. Yes you can opt out of the cocoa powder here and just do a chocolate cake with cream cheese frosting … but why would you deprive yourself of that extra chocolate?! Make the ultimate chocolate cake recipe and leave the cocoa in the frosting, friends!
- Moist chocolate cake recipe. This is the best chocolate cake because the cake layers not only have the best flavor, but are so very moist! This recipe uses oil, sour cream, and buttermilk to get the ultimate moist texture in every bite.
- Flour: This chocolate cake with chocolate cream cheese frosting recipe calls for regular all-purpose flour.
- Unsweetened Cocoa Powder: For details on all the different cocoa powders and when/how to use them, check out my Best Cocoa Powder for Baking post.
- Kosher Salt: Kosher salt is coarser than table salt, so if a recipe calls for Kosher salt, use 1/4 teaspoon less of table salt per teaspoon of salt. If a recipe calls for table salt, use 1/4 teaspoon more of Kosher salt per teaspoon.
- Eggs: Using room temperature eggs will really help you out! They incorporate into the batter much more easily, giving you a smoother texture and bake.
- Buttermilk: Use room temperature buttermilk! Same with the eggs, it will help things blend more easily. The buttermilk is acidic too so it will react with the baking soda, helping to give an extra fluffy texture to the rise of the chocolate cake.
- Sour Cream: Use full fat. The reason for the sour cream is to amp up the moisture in the cake. This will help give you a super tender and moist cake.
- Vegetable Oil: Using vegetable oil in cakes is much better than butter because oil is a liquid at room temperature, so the cakes will stay softer.
- Unsalted Butter: Use softened butter for the frosting! This will help it incorporate with the cream cheese better.
- Cream Cheese: Cream cheese is notorious for being clumpy unless it is very much softened. I like to pull mine out a few hours before making the frosting.
- Combine dry ingredients. Preheat the oven to 350ºF. To the bowl of a stand mixer fitted with the paddle attachment (or using a whisk), add 2 cups all-purpose flour, 2 cups granulated sugar, 1 cup unsweetened cocoa powder, 2 tsp baking soda, 1 tsp baking powder, and 1 tsp kosher salt (this is different than table salt! See ingredient notes). Mix until well combined.
- Add wet ingredients. Add 3 eggs, 1/4 cup sour cream, 3/4 cup buttermilk, 1 cup warm water (warm water blooms the cocoa powder for an intense chocolate flavor), 1/3 cup vegetable oil, and 2 tsp vanilla. Mix until combined, scraping down the sides of the bowl with a rubber spatula as needed.
- Pour batter into prepared pans. Grease and flour two 9-inch round cake pans. Pour the batter into the two pans evenly.
- Bake. Bake for 25-30 minutes or until a toothpick in the center of the cake comes out with a few moist crumbs but no wet batter. Remove from the oven and let cool in the pans for 10 minutes then turn out onto a wire rack to let cool completely.
- Make the homemade chocolate cream cheese frosting. To the bowl of a stand mixer fitted with the paddle attachment, add 6 oz of softened cream cheese and 1 cup softened butter. Beat on high for 2 minutes or until light in color and fluffy in texture. Add 1 cup unsweetened cocoa powder, 2 tsp vanilla extract and a pinch of salt. Beat until combined.
- Add in the powdered sugar. With the mixer on low speed, gradually add the powdered sugar. Then add in 5-6 T of milk, depending on the consistency. If more is needed, add 1 T at a time until the frosting is thick but spreadable.
- Frost the chocolate cake! Place a chocolate cake layer on a cake board or cake stand. Frost an even layer of frosting on top. Place the second cake layer on top, bottom side up. Frost the chocolate layer cake. Chill the chocolate cake with chocolate cream cheese frosting in the fridge for 30-60 minutes before serving. Slice and serve. Enjoy!
Always use room temperature wet ingredients for the best results.
When this chocolate cream cheese frosting, make sure you use room temperature butter and cream cheese. This will help everything combine much more easily. If you were to use cold ingredients you’d end up with a clumpy frosting.
If the frosting is too thick add milk a tablespoon at a time until it reaches your desired consistency. Keep in mind, the frosting will set and firm up with time. So make sure the frosting is a spreadable consistency.
To make the textured frosting look you see in my photos take the back of a spoon and swirl it around in the frosting, gently lifting up as you do so.
If you don’t want to use the chocolate cake recipe with cream cheese frosting, you can use my Chocolate Buttercream Frosting instead.
No stand mixer? No problem! Use a large bowl and an electric mixer!
Make Ahead, Storing, and Freezing
You can make the frosting ahead of time and store it in an airtight container in the fridge for 1-2 days. Remove from the fridge and let come to room temperature. Beat until light and fluffy again.
To make the cake layers ahead of time, make as directed and then let cool completely. Wrap the cake layers in 2 layers of plastic wrap. Then store in the fridge for 1-2 days or in the freezer for up to 7 days. If freezing for longer than 7 days, add an additional layer of aluminum foil. Remove and let thaw in the fridge overnight.
Due to the cream cheese in the frosting, store the cake covered or in an airtight container in the fridge for 5-7 days.
For more information on storing and freezing cakes, check out my How to Store and Freeze Cakes guide!
When you insert a toothpick in to the center of the cake and it comes out clean but with a few moist crumbs — no wet batter! — then the cake is done. You don’t want to over bake the cake or it will be dry.
It doesn’t matter how many ingredients we add to help keep the cake moist, if the cake is over baked, it will be dry. The sour cream, oil, and buttermilk are all the stars here, keeping the cake moist! So be sure to know your oven and make sure you have it heated to the correct temperature — this means using an oven thermometer!! My sister’s oven is 25 degrees cooler inside the oven than what it says on the outside. This will totally affect how things bake or cook in the oven.
No you don’t. I love the double chocolate cake (having the cake and the frosting be chocolate), but chocolate cake with cream cheese frosting is definitely a thing, so you can omit it and you’ll still have a yummy cake!
You can use Plain Greek Yogurt instead of sour cream.
I always prefer using buttermilk because it has a very low fat content (in addition to being acidic). So even though there are substitutions out there (like milk + vinegar OR milk + lemon juice), you can completely duplicate buttermilk. With that being said, you definitely should use a buttermilk substitute like the ones I mentioned instead of using just regular milk. I would opt for either skim milk, 1% or 2% over using whole milk with the substitute (since buttermilk is low fat, remember!)
More Chocolate Dessert Recipes
- German Chocolate Cupcakes
- Small Batch Chocolate Chip Cookies
- Chocolate Pudding with Cocoa Powder
- Dark Chocolate Ice Cream
- Chocolate Buttermilk Bundt Cake
Chocolate Cake with Chocolate Cream Cheese Frosting
- 2 cups all purpose flour
- 2 cups granulated sugar
- 1 cup unsweetened cocoa powder
- 2 teaspoons baking soda
- 1 teaspoon baking powder
- 1 teaspoon kosher salt
- 3 large eggs - room temperature
- 3/4 cup buttermilk
- 1/4 cup sour cream - or plain greek yogurt
- 1 cup warm water
- 1/3 cup vegetable oil
- 2 teaspoons vanilla extract
- Preheat oven to 350. Grease and flour 2 9-inch round cake pans.
- In the bowl of your stand mixer, add the flour, sugar, cocoa powder, baking soda, baking powder, and salt. Whisk to combine.
- Add the eggs, greek yogurt, buttermilk, water, oil, and vanilla. Beat for 2 minutes (using the paddle attachment) or until ingredients are well combined.
- Divide batter evenly between the 2 cake pans.
- Bake for 25-30 minutes or until a toothpick goes in the center and comes out clean.
- Place on cooling rack and let cool for 10 minutes. After 10 minutes turn out the cakes onto the cooling rack and let them cool completely before frosting.
- In a large bowl, or the bowl of a stand mixer fitted with the paddle attachment, add the cream cheese and butter. Beat on high speed for 2 minutes or until light and fluffy.
- Add the cocoa powder, vanilla, and salt. Mix until combined.
- With the mixer speed on low gradually add the powdered sugar. Once the powdered sugar has been added, add the milk. If the frosting is too thick, gradually add more milk 1 tablespoon at a time. You want the frosting to be thick, but a spreadable consistency.
- Frost the cake by adding a generous frosting layer between the 2 layers of cake. Spread frosting along the top and sides of the cake. Decorate as desired.
- Refrigerate for 30 minutes-1 hour before serving (this helps the frosting set and firm up a bit). But not necessary! You can serve immediately if you’d like.