For the Cake:
2 cups all-purpose flour
2 cups sugar
¾ cup unsweetened cocoa powder, sifted
2 teaspoons baking powder
½ teaspoon baking soda
1½ teaspoons kosher salt
1 tablespoon finely ground coffee
1 tablespoon ground cinnamon
½ teaspoon ground allspice
½ teaspoon ancho chile powder
½ teaspoon chipotle chile powder
Pinch habanero powder
1¼ cups whole milk
½ cup vegetable oil
2 large eggs
2 teaspoons vanilla extract
For the Buttercream:
6 ounces unsweetened chocolate, chopped
½ pound (2 sticks) unsalted butter, cubed and softened
1 ripe avocado—halved, pitted and mashed
1 teaspoon vanilla extract
Pinch kosher salt
1 cup confectioners' sugar
1. Preheat the oven to 350°. Grease two 9-inch round cake pans. Line the bottoms and sides with parchment paper and grease the parchment. Set aside.
2. Make the cake: In a medium bowl, whisk together the flour, sugar, cocoa powder, baking powder, baking soda, salt, coffee, cinnamon, allspice, ancho powder, chipotle powder and habanero powder.
3. In a large bowl, whisk the milk, oil, eggs and vanilla until thoroughly combined. Fold in the flour mixture, mixing until smooth. Pour the batter into the prepared cake pans and bake until a toothpick or tester inserted into the center of a layer comes out clean, 30 to 35 minutes. Set on a wire rack until slightly cooled, about 10 minutes, then turn them onto the wire rack. Remove the parchment and let the cake layers cool completely.
4. While the cake is baking, make the buttercream: Fill a medium saucepan with 2 inches of water and set it over medium-low heat. Place the chocolate in a medium bowl and set it on top of the double boiler. Melt the chocolate, stirring occasionally with a rubber spatula, and set aside to let cool to room temperature, 10 to 15 minutes.
5. In the bowl of a stand mixer fitted with a paddle attachment, beat the butter on medium speed until fluffy, 3 to 4 minutes. Beat in the avocado, vanilla and salt. Reduce the mixer's speed to low and slowly add the confectioners' sugar, beating until fully combined. Add the cooled chocolate, mixing until fully incorporated.
6. Put one cake layer on a serving plate and frost the top. Stack the second layer and frost the top and sides of the cake. Refrigerate until ready to serve.