This post may contain affiliate links. Please read our disclosure policy.
There is something so elegant yet classic about a red velvet cake—and this Grain-Free Red Velvet Cake is going to blow you away!

Perhaps it’s the name or that beautiful, bold red color, but slicing into a Red Velvet Cake just makes you stop for a moment and stare. This recipe is made from scratch, which gives it the best flavor and a moist, tender crumb that pairs wonderfully with a tangy, sweet cream cheese frosting. I am obsessed with cream cheese frosting and I’ve included a few easy swaps and suggestions for how to make the frosting dairy-free.
So what makes the cake red? Traditional recipes do not use food coloring with the red color occurring due to non-Dutched, anthocyanin-rich cocoa. However, more modern recipes like mine use a little bit of red food coloring to give it the right hue. But it’s important to use a red food color gel as opposed to the liquid dye. The taste and texture won’t change, but if you use liquid food color, it definitely turns more purple than red.
Typically, a red velvet cake has a few layers, but I admittedly don’t love the added stress of a layered cake and am more of a “snack cake” kinda gal. As their name suggests, snacking cakes are not for birthdays or elegant celebrations. They are more for baking on a whim and consuming casually. However, while I might casually whip this up on a Wednesday, I will also proudly serve this “snacking” cake on a special occasion. It’s a gem of a recipe that tastes just as good as a fussy layer cake with way less work.
ingredients:
- Nonstick Cooking Spray
- Superfine Almond Flour
- Tapioca Flour
- Cocoa Powder
- Kosher Salt
- Large Eggs
- Avocado Oil
- Maple Syrup
- Coconut Sugar
- Unsweetened Coconut Milk
- Pure Vanilla Extract
- Distilled White Vinegar
- Baking Soda
- Red Food Color Gel
- Cream Cheese
- Unsalted Butter
- Powdered Sugar
- Chopped Pecans
step-by-step:
step one: preheat the oven and prep the baking pan
Preheat the oven to 350℉. Coat a 9-inch square baking pan with cooking spray and place a parchment sling into the pan for easy removal. Set aside.
step two: combine the dry ingredients
In a medium bowl, sift together the almond flour, tapioca flour, cocoa powder, and salt. Set aside.
step three: beat the wet ingredients
In a large mixing bowl or in a stand mixer fitted with the whisk attachment, beat the eggs on medium-high speed for 3 to 4 minutes until they are pale yellow and fluffy. Add the avocado oil, maple syrup, coconut sugar, coconut milk, vanilla extract, vinegar, and baking soda. Beat on medium to combine.
step four: combine the dry and wet ingredients
Reduce the speed to medium-low and, working in increments, slowly add the dry ingredients to the wet ingredients, scraping the sides of the bowl as needed. Mix for 1 to 2 minutes until everything is well combined. Add the red food gel and mix once more.
step five: bake the cake
Pour the batter into the prepared baking pan. Transfer to the oven and bake until the top is lightly browned and a cake tester inserted in the middle comes out clean, about 25 minutes. If the top starts to get overly browned, place a sheet of foil over the top, but do note this is a darker cake.
step six: let the cake cool
Remove from the oven and allow the cake to cool in the pan for 10 minutes. Use the parchment sling to carefully transfer the cake to a wire rack to cool completely.
step seven: make the frosting
In a stand mixer with the paddle attachment, add the cream cheese, butter, and vanilla extract. Beat on medium speed for 2 to 3 minutes until light and fluffy. Next, slowly add the powdered sugar, beating on low at first to get it combined. Continue to increase the speed and beat on high for 2 to 3 minutes until well combined. Transfer the icing to the fridge until your cake is completely cooled.
step eight: frost the cake and serve
Once cool, use an offset spatula to spread the frosting over the top of the cake and garnish with pecans, if using. Slice, serve, and enjoy!

recipe faqs:
You can swap in vegan butter and dairy-free cream cheese for the frosting. I love Kite Hill’s plant-based cream cheese!
You can substitute it with arrowroot starch/powder instead!
The next time you’re looking for a dessert that everyone will love, I hope you’ll bake this Grain-Free Red Velvet Cake! Comment below and let me know what you think!
Looking for more dessert recipes? Try these!
Grain-Free Strawberry Snacking Cake

Grain-Free Red Velvet Cake
Ingredients
For the Cake:
- nonstick cooking spray
- 2 cups superfine almond flour
- 1 cup tapioca flour
- 3 tablespoons cocoa powder
- 1/2 teaspoon kosher salt
- 3 large eggs, room temperature
- 1/2 cup avocado oil
- 1/2 cup maple syrup
- 2 tablespoons coconut sugar
- 1/4 cup unsweetened coconut milk
- 2 tablespoons pure vanilla extract
- 1 teaspoon distilled white vinegar
- 1½ teaspoons baking soda
- 1-2 teaspoons red food color gel (see note)
For the Frosting:
- 4 ounces cream cheese, room temperature
- 2 tablespoons unsalted butter, room temperature
- 2 teaspoons vanilla extract
- 2½ cups powdered sugar
- 1/4 cup chopped pecans, optional, for topping
Instructions
Make the Cake:
- Preheat the oven to 350℉. Coat a 9-inch square baking pan with cooking spray and place a parchment sling into the pan for easy removal. Set aside.
- In a medium bowl, sift together the almond flour, tapioca flour, cocoa powder, and salt. Set aside.
- In a large mixing bowl or in a stand mixer fitted with the whisk attachment, beat the eggs on medium-high speed for 3 to 4 minutes until they are pale yellow and fluffy. Add the avocado oil, maple syrup, coconut sugar, coconut milk, vanilla extract, vinegar, and baking soda. Beat on medium to combine.
- Reduce the speed to medium-low and, working in increments, slowly add the dry ingredients to the wet ingredients, scraping the sides of the bowl as needed. Mix for 1 to 2 minutes until everything is well combined. Add the red food gel and mix once more.
- Pour the batter into the prepared baking pan. Transfer to the oven and bake until the top is lightly browned and a cake tester inserted in the middle comes out clean, about 25 minutes. If the top starts to get overly browned, place a sheet of foil over the top, but do note this is a darker cake.
- Remove from the oven and allow the cake to cool in the pan for 10 minutes. Use the parchment sling to carefully transfer the cake to a wire rack to cool completely.
Make the Frosting:
- In a stand mixer with the paddle attachment, add the cream cheese, butter, and vanilla extract. Beat on medium speed for 2 to 3 minutes until light and fluffy. Next, slowly add the powdered sugar, beating on low at first to get it combined. Continue to increase the speed and beat on high for 2 to 3 minutes until well combined. Transfer the icing to the fridge until your cake is completely cooled.
- Once cool, use an offset spatula to spread the frosting over the top of the cake and garnish with pecans, if using. Slice, serve, and enjoy!
Notes
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Photography and styling by Eat Love Eats.




Can I sub cassava or King Arhur Gluten Free Gluten free flour for the almond flour?
I worry it won’t turn out quite right: unfortunately, grain free flours don’t have a 1:1 ratio swap, so it would be something that would need tweaking.
Can you modify the recipe to use beet powder instead of red gel? Trying to stay away from using artificial dyes.
I haven’t tried this, but if you do please let us know how it works!
SO DELICIOUS and easy!
so happy you love it
Alex
I want to make this cake but I have a sensitivity to tapioca. Can I replace tapioca flour with another type ??
I recommend arrowroot in this recipe for it to turn out right
I usually make a buche de Noel for Christmas. The cake rolls up into a log best when it’s flourless, like this one. Do you think this red velvet cake would make a good buche de Noel — that is, spread thin on a sheet pan, baked, then rolled in the traditional manner?
Hi Janet, to be honest- I’ve never made a Buche de Noel and so I can’t say for certain that this would work.