1 1/2 sticks (6 ounces) unsalted butter, at room temperature
1 poundcream cheese, at room temperature
1 pound (4 cups) sifted powdered sugar
2 tablespoons whole milk, if needed
For the cake:
Heat the oven to 350°F. Coat 2 (9-inch) round cake pans generously with butter, then flour, tapping out any excess flour; set aside.
Sift the measured flour, salt, baking powder, and baking soda together twice; set aside. Whisk the cocoa, food coloring, and water in a small bowl until smooth; set aside.
Beat the measured butter in a large bowl using an electric mixer (or in the bowl of a stand mixer fitted with a paddle attachment) on medium speed until creamy, about 30 seconds. Add the sugar, 1/4 cup at a time, beating about 15 seconds after each addition and scraping down the sides of the bowl as necessary, until the mixture has lightened in color and become fluffy, about 2 minutes. Add the eggs one at a time, the vanilla, and the orange zest (if using), beating 15 seconds after each addition. Scrape down the sides of the bowl. Add the red cocoa mixture and mix until evenly incorporated.
On low speed, alternately add the flour mixture and the buttermilk, starting and ending with the flour mixture, until just incorporated. Once all the ingredients are incorporated, beat the batter 10 to 12 strokes with a spoon or spatula if using cake flour, 2 to 3 strokes if using all-purpose flour. (Do not overwork the batter, as this will make the cake tough.)
Divide the batter between the cake pans and spread the tops evenly with the spoon or spatula. Bake until a cake tester or toothpick inserted into the center comes out clean, about 30 minutes. Remove from the oven and let the cakes cool in their pans on a rack for 10 minutes. Slide a thin paring knife around the edges and invert the cakes onto the rack to cool completely, at least 1 hour.
For the icing:
Beat the butter in a large bowl using an electric mixer (or in the bowl of a stand mixer fitted with a paddle attachment) on medium-high speed until creamy, about 30 seconds. Add the cream cheese and continue to beat on medium-high speed until the mixture is fluffy, white, and very smooth, about 1 minute. Reduce the speed to low and add the powdered sugar 1 cup at a time, beating for 30 seconds after each addition, until the mixture is creamy, fluffy, and smooth. If the frosting is too stiff, beat the milk into it to loosen it.
Transfer 1 of the cake layers, bottom side up, to a serving plate or cake stand. Spoon 1 cup of the icing into the center of the cake layer. Work an icing or rubber spatula in a gentle swirling motion and spread the icing from the center toward the edges of the cake in an even layer (if you need to add more icing, add it to the center and work it out toward the sides).
Carefully set the second cake layer on top of the first and ice the second layer in the same manner, beginning with a dollop in the center and working it out toward the sides. Then ice the sides of the cake. (If the sides are crumbly, brush any excess crumbs away and place a thin layer of icing on the cake to seal the crumbs in. Refrigerate for 30 minutes, then apply another, thicker layer of icing on top of the first.)
Store the cake at room temperature beneath a cake cover. If you don’t plan to eat it within 24 hours, tent it with plastic wrap and store it in the refrigerator for up to 3 days. Remember to remove the cake from the refrigerator an hour or more before serving to take the chill off. Serve with glasses of cold milk.