Vegan Cake From Scratch (Soft, Moist, and Nobody Will Guess It’s Vegan)
I used to be the person at birthday parties quietly checking whether the cake had eggs in it before I’d take a slice, and more often than not, just skipping dessert entirely. The store-bought “vegan” options I tried early on didn’t help much either, dense, a little gummy, and clearly trying too hard to make up for what wasn’t in the batter.
This recipe is the one that finally stopped feeling like a compromise. It’s soft, it domes properly in the pan, it doesn’t taste like it’s missing anything, and it’s genuinely one of the easiest cakes I make, vegan or not.
If you’ve tried my tofu tacos or my vegan chili, you already know I don’t post a recipe here unless I’ve made it enough times to trust it. This cake has been my go-to for birthdays, potlucks, and the occasional “I just want cake on a Tuesday” moment for a long time now.
The Science Behind Why This Works
Traditional cakes lean on eggs for structure, moisture, and rise. This recipe replaces all three jobs without needing an egg substitute at all, it just splits the work between different ingredients.
Rise comes from the classic baking soda and vinegar reaction. When the acidic vinegar hits the baking soda, it creates carbon dioxide bubbles right in the batter, the same lift an egg’s air pockets would normally help provide, plus the extra push from the baking powder.
Moisture comes from the oil rather than butter. Oil stays liquid at room temperature, unlike butter, which means the cake stays soft and tender even after it’s cooled completely, instead of firming up the way a butter-based cake can.
Binding comes down to the flour’s own gluten structure plus the acid in the vinegar, which helps tenderize that gluten just enough to keep the crumb soft rather than tough.
Understanding this is genuinely useful beyond just this recipe, it’s the same basic formula behind most vegan cake recipes, so once you’ve got the ratios down here, you can start adapting other cake recipes to be egg-free using the same logic.
Equipment You’ll Need
- Two 8-inch round cake pans
- Parchment paper
- A large mixing bowl and a whisk (no stand mixer required for the cake itself)
- A hand mixer or stand mixer for the frosting, though a whisk and some patience work too
- A wire cooling rack
- An offset spatula for frosting, though a butter knife works in a pinch
Nothing here is specialty equipment. If you bake at all, you likely already have everything on this list.
A Note on Altitude
If you’re baking above roughly 3,000 feet, a few small adjustments help this cake turn out right:
- Reduce the baking powder and baking soda slightly, by about 1/4 teaspoon each
- Increase the oven temperature by about 15-25°F to help the structure set before the cake over-rises
- Check for doneness a few minutes earlier than the recipe states, since cakes tend to bake faster at altitude
At sea level to around 2,500 feet, the recipe as written should work without any adjustment.
Why You’ll Love This
No weird substitutions. No flax eggs, no aquafaba, no specialty ingredients hiding in the back of a health food store. Just plant milk, oil, vinegar, and a few pantry basics doing the work.
Genuinely moist, not just “moist for vegan.” The oil-and-vinegar combination here does a lot of heavy lifting, this isn’t a dry cake wearing frosting as a disguise.
One bowl, minimal cleanup. No stand mixer required, no separate creaming step. Whisk, pour, bake.
Endlessly adaptable. This is a base vanilla cake, but it takes chocolate, lemon, or funfetti variations easily, more on that below.
Recipe Ingredients

For the cake:
- 2 1/2 cups all-purpose flour
- 1 1/2 cups granulated sugar
- 1 tablespoon baking powder
- 1 teaspoon baking soda
- 1 teaspoon salt
- 1 1/3 cups plant milk (soy or oat milk work best here)
- 1/2 cup neutral oil (vegetable or canola)
- 1 tablespoon apple cider vinegar or white vinegar
- 2 teaspoons vanilla extract
For the vegan buttercream frosting:
- 1 cup vegan butter, softened
- 3 to 3 1/2 cups powdered sugar
- 2 to 3 tablespoons plant milk
- 1 teaspoon vanilla extract
- Pinch of salt
If You Need to Substitute
No apple cider vinegar? White vinegar or lemon juice both work the same way here, reacting with the baking soda to help the cake rise and stay tender.
Don’t have plant milk on hand? Any unsweetened variety works, though soy milk gives the most reliable structure since it’s higher in protein than options like almond milk.
Out of vegan butter? A neutral vegan shortening can work in the frosting in a pinch, though the flavor will be a little more one-note than butter gives you.
Want it a bit lighter? Swapping half the oil for unsweetened applesauce works, though the crumb will be slightly denser and less rich.
How to Make It
Step 1: Prep Your Pans and Oven
Preheat your oven to 350°F. Grease two 8-inch round cake pans and line the bottoms with parchment paper, this step matters more for vegan cakes than you’d think, since there’s no egg to help the cake release cleanly on its own.
Step 2: Whisk the Dry Ingredients

In a large bowl, whisk together the flour, sugar, baking powder, baking soda, and salt until evenly combined. Whisking the dry ingredients thoroughly here, rather than just stirring, helps the leaveners distribute evenly so you don’t end up with a lopsided rise.
Step 3: Add the Wet Ingredients

Pour in the plant milk, oil, vinegar, and vanilla extract directly into the dry ingredients. Whisk until just combined and smooth, no large lumps, but don’t overmix. Overmixing develops the gluten in the flour too much and can leave you with a denser, tougher cake instead of a tender one.
Step 4: Divide and Bake

Divide the batter evenly between your two prepared pans and smooth the tops with a spatula. Bake for 28 to 32 minutes, until a toothpick inserted into the center comes out clean or with just a few moist crumbs.
Step 5: Cool Completely Before Frosting

Let the cakes cool in their pans for about 10 minutes, then turn them out onto a wire rack to cool completely. This part isn’t optional, frosting a warm cake is the single most common reason a beautiful bake ends up looking melted and messy.
Step 6: Make the Frosting

Beat the softened vegan butter on its own for a full minute or two until it’s noticeably lighter and fluffier. Gradually add the powdered sugar, a cup at a time, beating well after each addition.
Add the plant milk, vanilla, and salt, then beat again until light and spreadable, adding a touch more milk if it feels too thick or a touch more powdered sugar if it feels too loose.
Step 7: Assemble
Once the cakes are completely cool, place one layer on your serving plate and spread a generous layer of frosting on top. Set the second layer on top and frost the top and sides.
A thin “crumb coat” layer chilled for 15 minutes before your final frosting layer will give you the cleanest finish, though it’s not essential if you’re not worried about a perfectly smooth look.
Tips
Room Temperature Ingredients Matter Here Too
Even without eggs, cold plant milk straight from the fridge can cause the oil to seize slightly when whisked together. Let your plant milk sit out for 10 minutes before starting if your kitchen runs cold.
Don’t Skip the Parchment
Vegan cakes can be a touch more delicate to unmold than a traditional egg-based cake. Parchment paper on the bottom of the pan is cheap insurance against a cake that tears on its way out.
Measure Your Flour Correctly
Scoop-and-level, don’t pack flour into the measuring cup directly from the bag. Packed flour can add up to 20% more flour than the recipe intends, which is a common cause of dry, dense vegan cakes.
Variations to Try
Chocolate version. Replace 1/2 cup of the flour with 1/2 cup unsweetened cocoa powder, and add an extra 2 tablespoons of plant milk to account for the added dryness of the cocoa.
Funfetti version. Fold 1/2 cup of vegan sprinkles into the batter right before dividing it between the pans. Use sprinkles labeled dairy-free, some traditional brands contain confectioner’s glaze made from a non-vegan ingredient.
Lemon version. Add the zest of two lemons to the batter and replace 2 tablespoons of the plant milk with fresh lemon juice for a bright, tangy variation.
Sheet cake version. Pour the full batter into a single 9×13 pan instead of two rounds and bake for closer to 35 to 40 minutes, checking with a toothpick starting at the 30-minute mark.
How I Store and Make This Ahead
Unfrosted layers can be wrapped tightly in plastic wrap and kept at room temperature for up to 2 days, or frozen for up to 3 months. I bake mine a day ahead for parties specifically because a fully cooled, wrapped layer is actually easier to frost cleanly than one that just came off the rack.
Frosted cake keeps well at room temperature, covered, for about 2 days. If your kitchen runs warm or the frosting starts to look soft, move it to the fridge, just let it sit out for 20 to 30 minutes before serving so the frosting softens back up.
Leftover slices freeze surprisingly well. Wrap individual slices tightly and freeze for up to 2 months, then thaw at room temperature for an hour or so before eating.
Dietary Adaptations
Nut-free: use soy or oat milk rather than almond or cashew milk, and double check your vegan butter and sprinkle brands, since some are processed in facilities that also handle nuts.
Soy-free: oat milk is your best substitute for the plant milk, and look for a soy-free vegan butter, most major brands now offer one.
Refined sugar-free: coconut sugar can replace the granulated sugar in the cake at a 1:1 ratio, though it will darken the crumb slightly and add a mild caramel note. The powdered sugar in the frosting is harder to substitute cleanly, since it also provides structure, not just sweetness.
Lower sugar: reducing the sugar in the cake itself by up to 1/4 cup generally doesn’t affect the structure much, though it will taste noticeably less sweet.
Decorating Tips for Beginners
You don’t need advanced cake-decorating skills to make this look good.
The naked cake look. Apply a thin, deliberately imperfect layer of frosting so some cake shows through the sides. This hides a multitude of frosting sins and looks intentionally rustic rather than unfinished.
Simple piped border. A basic star tip piped around the top edge dresses up an otherwise plain frosted cake without requiring any real piping skill.
Fresh fruit or edible flowers. Pressing berries, citrus slices, or food-safe flowers onto the top just before serving adds color with zero decorating skill required.
Drip effect. A slightly thinned vegan chocolate ganache drizzled around the edges so it drips down the sides looks impressive but only takes a spoon and a steady hand.
What to Serve With It
This cake stands on its own, but a few pairings round out a full dessert spread:
- Fresh berries on the side cut through the sweetness nicely
- A scoop of vegan vanilla ice cream turns a slice into a full dessert
- A hot cup of coffee or tea balances the richness of the frosting
- For a birthday spread, this pairs well alongside my peppermint mocha smoothie bowl if you want a lighter option on the table too
More Recipes
- Vegan Sushi Bake Recipe You’ll Want Every Week
- Vegan “KFC-Style” Fried Chicken (Copycat)
- The Best Vegan Chili Recipe
- Peppermint Mocha Smoothie Bowl
Mistakes I’ve Made So You Don’t Have To
Frosting a cake that was still slightly warm in the center because I was impatient. The frosting slid right off one side and I had to start over.
Overmixing the batter because I was worried it wasn’t smooth enough. The cake came out noticeably denser and slightly rubbery on top, a clear sign of overworked gluten.
Skipping the parchment paper once because I didn’t want to dig it out of the drawer. Half of one layer stayed stuck to the pan and I had to patch it together under the frosting.
Using cold plant milk straight from the fridge on a cold day in a cold kitchen. The batter looked slightly separated and grainy until I let everything come closer to room temperature.
Frequently Asked Questions
Can I make this gluten-free? A 1:1 gluten-free baking flour blend can generally be substituted directly, though the texture will be slightly more delicate and the cake may need a few extra minutes to bake through.
Why did my cake sink in the middle? This usually means it was slightly underbaked, or the oven door was opened too early during baking. Test with a toothpick at the earliest suggested time and give it a few more minutes if needed before assuming it’s done.
Can I use a different oil? Any neutral, flavorless oil works, vegetable, canola, or a light avocado oil. Avoid strongly flavored oils like olive oil, which can compete with the vanilla.
Is this recipe nut-free? Yes, as written, as long as you choose a nut-free plant milk like soy or oat rather than almond milk.
Can I make cupcakes instead? Yes, this batter makes about 24 standard cupcakes. Reduce the bake time to roughly 18 to 20 minutes, checking with a toothpick.

Vegan Cake From Scratch
Ingredients
Equipment
Method
- Preheat oven to 350°F. Grease two 8-inch round pans and line the bottoms with parchment paper.
- Whisk the flour, sugar, baking powder, baking soda, and salt together in a large bowl.
- Add the plant milk, oil, vinegar, and vanilla. Whisk until just combined, do not overmix.
- Divide the batter evenly between the pans and bake 28-32 minutes, until a toothpick comes out clean.
- Cool in the pans for 10 minutes, then turn out onto a wire rack to cool completely before frosting.
- Beat the vegan butter alone for 1-2 minutes until fluffy. Add powdered sugar gradually, beating well after each addition.
- Add the plant milk, vanilla, and salt to the frosting. Beat until light and spreadable, adjusting milk or sugar as needed.
- Once the cakes are fully cooled, frost the first layer, stack the second layer, then frost the top and sides.
Notes
- Don’t skip the parchment paper, vegan cakes can be more delicate to unmold than egg-based cakes.
- Let cakes cool completely before frosting to avoid sliding or melting.
- For chocolate: replace 1/2 cup flour with 1/2 cup cocoa powder and add 2 extra tbsp plant milk.
- For funfetti: fold in 1/2 cup dairy-free sprinkles just before dividing the batter.
- For lemon: add zest of 2 lemons and replace 2 tbsp plant milk with fresh lemon juice.
- For a sheet cake: bake in a single 9×13 pan for 35-40 minutes instead of two rounds.
- Above 3,000 ft altitude: reduce baking powder and baking soda by 1/4 tsp each, increase oven temp by 15-25°F, and check for doneness a few minutes early.
- Unfrosted layers keep at room temperature, wrapped, for up to 2 days, or freeze for up to 3 months.
- Frosted cake keeps covered at room temperature for about 2 days.
