Preheat your oven to 350°F (175°C). Grease and flour the two 9-inch round cake pans.
In a large mixing bowl, combine the ingredients for the vanilla cake. Mix well until smooth using an electric mixer.
Divide the vanilla batter evenly between the two prepared pans.
In another mixing bowl, combine the ingredients for the chocolate cake. Mix until well-combined and smooth.
Divide the chocolate batter evenly and pour it into the two prepared pans on top of the vanilla batter.
Using a knife, gently swirl the batters together, creating a marbled effect.
Bake in the preheated oven for about 30 minutes or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before transferring them to a wire rack to cool completely.
While the cakes cool, prepare the frosting by beating the softened butter until creamy.
Gradually add the powdered sugar, heavy cream, vanilla extract, and salt, beating until smooth and fluffy.
Once the cakes are completely cooled, trim the tops to level them if necessary. Place one layer on a cake board or serving platter.
Spread a layer of frosting on top of the first cake layer, and then place the second layer on top of it. Frost the top and sides of the cake.
Optional: Use any leftover frosting for decorative piping or toppings as desired.