2 1/4 cups sifted cake flour
4 tablespoons unsweetened cocoa powder
1 teaspoon baking powder
1 teaspoon baking soda
1/2 teaspoon salt
1 cup buttermilk
2 tablespoons red food coloring
1 teaspoon vanilla extract
1 teaspoon distilled white vinegar
1 1/2 cups sugar
1 cup (2 sticks) unsalted butter, room temperature
3 large eggs

2 8-ounce packages cream cheese, room temperature
1/2 cup (1 stick) unsalted butter, room temperature
1 tablespoon vanilla extract
4 cups powdered sugar

For cake:
Preheat oven to 350F. Butter and flour two 9-inch-diameter cake pans. Sift flour, cocoa powder, baking powder, baking soda, and salt into medium bowl. Whisk buttermilk, food coloring, and vanilla in small bowl to blend. Add vinegar to buttermilk mixture and stir. Using electric mixer, beat sugar and butter in large bowl until well blended. Add eggs 1 at a time, beating until well blended after each addition. Mix in dry ingredients in small batches alternately with buttermilk mixture.
Divide batter evenly between the two pans. Bake cakes about 27 minutes. Cool in pans on racks 10 minutes. Remove cake from pan and let cool completely on racks before frosting.

For frosting:
Blend cream cheese and butter in large bowl until smooth. Mix in vanilla. Add powdered sugar and beat until smooth, but stiff. (If your frosting is too runny, you risk losing the top half of your cake...yes, I am speaking from experience.

Place 1 cake layer, flat side up, on platter. Spread 1 cup frosting over top of cake. Top with second cake layer, flat side down. Spread remaining frosting over top and sides of cake. (Cover and refrigerate. Let stand at room temperature 1 hour before serving.)