Chocolate-and-Vanilla Pudding Cake

An old-fashioned layer cake conjures a winter wonderland when topped with white-chocolate buttercream as pale and thick as a fresh snowbank. Despite its black-tie formal appearance, this is a very pragmatic dessert because it's even better when you make it in advance: The milk-chocolate pudding in the middle and the icing have plenty of time to set, so the flavors intensify.


  • Unsalted butter, softened, for pan
  • ¾ cup Dutch-process cocoa powder, plus more for pan
  • 1 ⅔ cups cake flour (not self-rising)
  • 1 ⅓ cups sugar
  • ¾ teaspoon baking powder
  • ¾ teaspoon baking soda
  • 1 ¼ teaspoons kosher salt (we use Diamond Crystal)
  • 2 large eggs, room temperature
  • ¾ cup buttermilk, room temperature
  • ¾ cup hot tap water
  • 2 teaspoons pure vanilla paste or extract
  • 6 tablespoons vegetable oil
  • ⅓ cup sugar
  • 2 tablespoons cornstarch
  • 1 tablespoon Dutch-process cocoa powder
  • ¼ teaspoon kosher salt
  • 1 ½ cups whole milk
  • 2 large egg yolks (whites reserved for frosting)
  • 1 teaspoon pure vanilla paste or extract
  • 4 ounces milk chocolate, coarsely chopped (⅔ cup)
  • 2 tablespoons unsalted butter
  • 3 large egg whites
  • ¾ cup sugar
  • Pinch of kosher salt
  • 1 ½ sticks unsalted butter, cut into tablespoons, softened
  • 3 ounces white chocolate, chopped (½ cup), melted, and cooled


    1. For the Cake: Preheat oven to 350°F. Brush the bottom and sides of a 9-by-3-inch round springform pan with butter; line bottom with a parchment round and brush with butter. Dust parchment and sides of pan with cocoa, tapping out excess.
    2. In a large bowl, whisk together cocoa, flour, sugar, baking powder, baking soda, and salt to thoroughly combine. Whisk in eggs, buttermilk, hot water, vanilla, and oil. Transfer batter to prepared pan.
    3. Bake until top springs back when lightly pressed, 40 to 45 minutes. Transfer to a wire rack; let cool 20 minutes. Unlatch and remove side of pan; invert cake onto rack, remove parchment, and let cool completely.
    4. For the Filling: In a saucepan, whisk together sugar, cornstarch, cocoa, and salt. Whisk in milk and egg yolks. Bring to a boil over medium-high heat, whisking constantly; boil 1 minute. Remove from heat; whisk in vanilla, chocolate, and butter until melted and smooth. Transfer to a heatproof bowl and cover with plastic wrap, pressing it directly onto surface of pudding to prevent a skin from forming. Let cool about 10 minutes.
    5. For Assembly: Meanwhile, trim top of cake flat with a serrated knife, then cut horizontally into two even layers. Wash and dry springform pan, return side of pan to latched position, and line bottom with a fresh parchment round. Transfer bottom cake layer, split side up, to prepared pan.
    6. Pour filling into pan, spreading to edges of cake in an even layer with an offset spatula. Transfer top layer of cake to pan (top side up), loosely cover, and refrigerate until cold, at least 2 hours and up to 1 day.
    7. For the Frosting: Combine egg whites, sugar, and salt in the heatproof bowl of a mixer set over (but not in) a pan of simmering water. Heat, whisking, until mixture is hot to the touch and sugar has dissolved (it should feel smooth when rubbed between your fingers).
    8. Transfer bowl to mixer fitted with the whisk attachment. Beat on medium speed 5 minutes. Increase speed to medium-high and continue beating until stiff peaks form and mixture is glossy and cooled, 5 to 6 minutes more. Reduce speed to medium; beat in butter, 1 tablespoon at a time. Beat in white chocolate until thick and smooth (if frosting seems thin, it was too warm when butter and chocolate were added; refrigerate until cool and beat again before using).
    9. Unlatch and remove side of pan from chilled cake. Use an offset spatula to smooth any filling protruding from middle along side of cake. Line the edges of a cake plate or stand with strips of parchment.
    10. Transfer cake to plate or stand. Spoon frosting onto top of cake and spread evenly over top and sides with an offset spatula. Discard parchment strips and refrigerate cake until icing is set, at least 20 minutes or, loosely covered, up to 3 days. Slice and serve.