Preheat oven to 350F (175C) and line the bottoms of three 9” (23cm) round cake pans with parchment paper and grease and flour the sides or spray with baking spray. Set aside.
In a large bowl, combine flour, sugars, cocoa powder, baking soda and salt and stir well (break up any clumps from the brown sugar).
Add butter, oil, eggs, and vanilla extract and stir until completely combined (batter may be thick).
Slowly stir in buttermilk until completely combined.
Finally, slowly (and carefully!) add hot water until batter is uniform and thoroughly combined.
Evenly divide batter into prepared cake pans and transfer to 350F (175C) oven. Bake 20-24 minutes or until a toothpick inserted in the center of each cake comes out clean or with a few moist crumbs (note: if your oven bakes unevenly you may need to rotate the cakes during baking. It is also fine to bake two cakes at one time and leave the third on the counter until the first two have finished baking, if your oven is too small to hold all 3 at once).
Allow cakes to cool for 15 minutes then run a knife around the edge and carefully invert onto cooling racks to cool completely before frosting.
Peanut Butter Frosting
Combine butter and peanut butter and use an electric mixer or stand mixer to beat until smooth and creamy.
Gradually add powdered sugar, using a spatula to scrape the bottom of the bowl as needed to ensure sugar is completely combined.
Add vanilla extract and salt and stir well. Taste-test and add additional salt if needed.
Gradually add milk, starting with 2 Tablespoons and only adding additional until the frosting is smooth and creamy.
Assembling Cake
If your cakes are uneven, you may wish to level them once they are cooled so the final cake is flat/even.
Place first layer of cooled cake on a serving platter and cover the top with a thick layer of peanut butter frosting. Place the second cake layer evenly on top, then top this with a thick layer of frosting, and repeat with the third layer. Cover entire cake with a thin layer of frosting to make a “crumb coating” that will catch all of the crumbs.
Transfer to freezer for 10-15 minutes, then remove and apply a clean, thick coating of frosting around the entire cake. If using ganache, go on to the next step, if not, use remaining frosting to pipe a decorative border around the top of the cake as desired (I used an Ateco 848 tip for the cake in the photos) and serve.
Ganache
If using ganache, place cake in refrigerator and place chocolate in a heatproof bowl.
Place cream in a small saucepan and heat until simmering. Pour evenly over the chocolate and cover. Allow to sit for 5 minutes.
After 5 minutes, gently whisk together cream and chocolate until smooth. Allow to cool about 15 minutes or until it is still liquid enough to pour but firm enough that it is no longer runny (see video for a visual if needed for any of these steps).
Remove cake from refrigerator and transfer ganache to either a squeeze bottle or a piping bag with a small round tip or a small corner snipped off. Hold bottle or bag vertically and drip ganache around the edge of the cake (if ganache is dripping all the way to the bottom of the cake, return the cake to the fridge and let the ganache cool longer).
Once you have done your drip as desired all the way around the cake, cover the top of the cake with a thin layer of chocolate (you may not use all of the ganache).
Return cake to refrigerator for ganache to set, then once set use remaining peanut butter frosting to pipe a border around the top of the ganache as desired (I used my favorite Ateco 848 tip here).
Serve and enjoy!