The Best Vegan Hot Chocolate

Jump to Recipe
This Vegan Hot Chocolate is luxury in a glass! A decadent blend of cocoa powder, dark chocolate, and two kinds of dairy-free milk result in a dreamy, warming winter drink. It’s a luxe, grown-up version of the classic.
Prep 3 minutes
Cook 15 minutes
Total 18 minutes
5 from 29 votes

Wow your holiday guest with mugs of this decadent Vegan Hot Chocolate! It feels and tastes super fancy but is easy to throw together.

Simmer cocoa powder, dark chocolate, dairy free milk, and a few other simple ingredients on the stove until luxuriously creamy, then top each serving with vegan whipped cream or marshmallows. That’s it!

Much like my Vegan Spiced Eggnog, a steaming mug of vegan hot chocolate is a perfect cozy drink for the holiday season and throughout winter. Each sip is rich, thick, and not overly sweet. The customizable flavor is perfect for adults, but can easily be made sweeter for kids.

Table of Contents:
1. Why this recipe works
2. Ingredient notes
3. Step-by-step instructions
4. Tips for making this recipe
5. How to customize
6. Frequently Asked Questions
7. Recipe card

Three glass mugs filled with hot chocolate and whipped cream on plates on a wood table.

Why this recipe works

A chocolate lover’s dream.
Most hot chocolate recipes mix melted chocolate OR cocoa powder with dairy free milk and sugar. In this recipe, we’re using both for the ultimate vegan hot chocolate. 

And not just any cocoa powder: Dutch process cocoa powder. It’s been alkalized, which, according to Sally’s Baking Addiction, means the acidic flavor has been washed away. You end up with a no acidity but purer chocolate flavor (and darker color) compared to natural cocoa powder (e.g., Hershey’s).

Once the cocoa is mixed with melted dark chocolate, the mixture becomes deeply rich and velvety. All of your chocoholic friends will be asking for another cup.

ad for meal plans program with picture of woman with button

No watery hot chocolates here. 
We’ve all had the hot chocolate mix stirred in hot water, right? It’s pretty sad stuff, so let’s just say no to that.

In this version, oat milk and lite canned coconut milk are mix to form the perfect creamy and rich but not heavy consistency.

No water in this hot chocolate, please and thank you. The texture is supremely luxurious and undetectably vegan. 

Makes enough for a crowd.
This is a large-batch vegan hot chocolate recipe, perfect for serving to crowds or for enjoying leftovers later on. Any extras will store well in an airtight jar in the fridge for up to one week. 

When it’s time to party, pour the hot chocolate into a crockpot and set to the warm setting. The slow cooker keeps the drink warm and creamy throughout the night. Put out a ladle, your most festive mugs, and sweet toppings on the side for your party guests to serve themselves.

Overhead view of single mug of hot chocolate on wood table.

Ingredient notes

Hot chocolate ingredients in various bowls on a wood cutting board on a wood table.

Dark chocolate. Good-quality dark chocolate takes this hot chocolate over the top, making each sip a party for the taste buds.

Tip: I like to use a 70% to 75% dark chocolate bar, chopped up. If your chocolate bar (or chips) has a cacao percentage lower than 65%, start with less sweetener, then adjust as needed.

Substitute: You can also use bittersweet baking chocolate.

Dutch process cocoa powder. This is another secret to an amped-up chocolate flavor. It’s better than natural cocoa powder because of its deeply rich and chocolatey flavor. 

Before you go shopping, read this article from Serious Eats. They tested the best Dutch process cocoa brands to help you find one with the right flavor, color, and richness.

Substitute: You can use raw cacao powder or natural cocoa powder (e.g., Hershey’s) if you don’t have Dutch process cocoa. The hot chocolate will be great but less rich in chocolatey flavor.

Tip: In Europe, most cocoa powders are Dutch process but may not be labeled as such.

Lite coconut milk + oat milk. My tests using full-fat coconut milk resulted in a very heavy hot chocolate and my tests with just a standard plant-based milk came out too thin. 

But I found the perfect balance when I used some “lite” or reduced-fat coconut milk in addition to oat milk. The combo gives the hot chocolate the perfect luxurious consistency and a creamy body, much like if you were to use real half and half.

Substitute: if you can’t have coconut products, omit the coconut milk and use all oat milk instead.

Espresso powder. Just a little enhances the flavors of the chocolate without making the drink taste like a mocha. Read more about how espresso works its magic in baking in this article by King Arthur Baking. It’s how I get my Best Vegan Brownies to taste mega chocolatey, too! 

Substitute: A double shot of brewed espresso will work just as well. Or, if you only have instant coffee powder at home, use that instead. It isn’t as concentrated as espresso powder, but will still get the job done.

And if you’re sensitive to caffeine, either skip the espresso/coffee or use decaf powder.

Maple syrup or sugar. Both maple sugar and cane sugar can be used to sweeten. Use maple syrup if you want a slightly robust caramel flavor. 

The sweetness is easy to adjust in this recipe. Taste as you go, adding more sugar/syrup to fit your sweet tooth. You can always stir more in at the end, too (chances are the kids will ask for more sugar).

Vanilla extract. For flavor, obvi!  

Substitute: If it’s the holidays and you love the mint-chocolate flavor, use peppermint extract instead.

Person pouring hot chocolate into glass mug on wood table.

Step-by-step instructions

Chop up your chocolate. 

Add the oat milk, lite coconut milk, chopped chocolate, cocoa powder, espresso powder, sweetener of choice, vanilla, and salt to a saucepan on the stove. 

Heat over medium heat to bring the mixture up to a rapid simmer

Whisk occasionally to help incorporate the cocoa powder into the milk. Keep simmering for 8 to 10 minutes, or until slightly thickened.

Cool for 5 to 10 minutes before serving. Add more sweetener to taste. Pour into mugs and top as desired. 

Tips for making this recipe

This is an adult hot chocolate. By this, I mean it isn’t as sweet as most store-bought hot chocolate mixes. I erred on the lower end of sweetness in case you use chocolate with a lower cacao content, as it will make the hot chocolate sweeter. 

Hot chocolate not sweet enough for you?

Option 1: Stir in more sugar or maple syrup at the end (if the hot chocolate is still warm, the sugar will dissolve just fine).

Option 2: Top your hot chocolate with a vegan whipped topping (my preference) or marshmallows, and those will add extra sweetness.

Whisk well to remove clumps. As the hot chocolate comes to a simmer, you may notice some clumps from the cocoa. You’ll want to whisk well and frequently to dissolve the clumps (once the milk is hot, it should be easier).

You can also make ensure a clump-free mixture by sifting your cocoa powder first.

As the mixture simmers, the fat from the milks may start to form a skin on the surface. Don’t worry, you can just whisk that away and it won’t compromise the texture.

Let it rest to thicken. If it doesn’t seem as thick as you’d like, don’t fret. This hot chocolate thickens quite a bit as it rests and cools. Once it rests for ~10 minutes, the texture will not only be thicker but will also help you avoid mouth burns (and it continues to thicken).

When reheating, the hot chocolate will likely have thickened so just add a splash of plant milk.

Make a hot chocolate bar! Have some fun for the holidays by warming this vegan hot chocolate in a crockpot and keeping a ladle and mugs on the side. Fill small bowls with all kinds of fun toppings (see ideas below) and let your party guests serve themselves.

How can I customize this hot chocolate?

  • Peppermint hot chocolate: Substitute peppermint extract for vanilla and garnish the mug with a candy cane. A delightful holiday party trick. 
  • Mexican hot chocolate: You can add 2 cinnamon sticks and ¼ teaspoon cayenne pepper for a spicy kick.
  • Spiked hot chocolate: Stir 2 to 3 ounces of bourbon, dark rum, peppermint schnapps, or vegan Irish cream liqueur in at the end, then divide into cups.
  • Gingerbread hot chocolate: Try my refined sugar-free Gingerbread Hot Chocolate instead. Don’t forget a piece of Gingerbread Cake on the side for dunking!
  • Toppings galore! Top each mug with vegan whipped cream or a nondairy whipped topping, or vegan marshmallows (like Dandies) if you like. Then finish with a sprinkle of shaved dark chocolate or dairy-free chocolate chips.
  • Less rich hot chocolate: (1) Use less dark chocolate (4 ounces instead of 6 ounces), and (2) replace the lite coconut milk with more oat milk.
Three glass mugs filled with hot chocolate and whipped cream on plates on a wood table.

Frequently Asked Questions

Can you use chocolate chips instead of dark chocolate? 

Yes, you can use vegan chocolate chips instead of a dark chocolate bar. Chocolate chips are typically made with lower-quality chocolate than bars and don’t melt the same way, but they still work fine. 

A couple considerations: (1) dark chocolate chips are not that common, so if you’re using semisweet chocolate, start with half the amount of sugar (or none at all). (2) Read the labels to make sure your chocolate chips don’t contain milk solids. 

Note: you can also use bittersweet baking chocolate.

What is the best non-dairy milk for hot chocolate?

Technically, you can make dairy-free hot chocolate with any non-dairy milk. But a combination of lite coconut milk and oat milk is best because it mimics the rich cream and fattiness of traditional dairy milk. 

Can you omit the coconut milk? 

Yes. The hot chocolate won’t be as thick or rich, but it will still be tasty. Just substitute an equal amount of oat milk. 

Can I use something besides oat milk?

Feel free to use another creamy plant milk, like soy milk or cashew milk instead. We haven’t tested these ourselves, but they should work well.

What is Dutch process cocoa powder?

Dutch process cocoa powder (AKA “alkalized” or “European style” cocoa powder) is the smoother, more mellow alternative to natural cocoa powder. According to Serious Eats, the cocoa beans are “washed with a potassium carbonate solution that neutralizes cocoa’s acidity to a pH of 7” (this is known as the “Dutching” process).

As for flavor, Dutch process cocoa is smooth, mild, and pure in chocolate flavor. It’s the perfect choice in chocolate-forward recipes like this hot chocolate. 

How long does this hot chocolate last in the fridge?

We’ve had it after a full 7 days later, and it was still tasty! It does thicken in the fridge, but usually comes back to its normal texture when reheated. If it’s still too thick, thin it out with a bit of plant-based milk or a splash of water as needed.

Overhead view of three mugs of hot chocolate with whipped cream on a plate on a wood table.

If you love this Vegan Hot Chocolate as much as we do, please rate and review the recipe with your feedback below! It’s always very much appreciated :)

Vegan Hot Chocolate 

5 from 29 votes
This Vegan Hot Chocolate is luxury in a glass! A decadent blend of cocoa powder, dark chocolate, and two kinds of dairy-free milk result in a dreamy, warming winter drink. It’s a luxe, grown-up version of the classic.
Prep Time: 3 minutes
Cook Time: 15 minutes
Total Time: 18 minutes
Course: Dessert, Drinks
Cuisine: American
Diet Gluten Free, Vegan, Vegetarian
Serving size: 8


  • 6 ounces (170g) 70% dark chocolate, chopped
  • 4 cups (960 mL) oat milk (or soy milk)
  • 1 (13.5-ounce/400 mL) can of “lite” coconut milk*
  • 1/4 cup maple syrup (80g) or organic cane sugar (50g), plus more to taste**
  • 2 teaspoons espresso powder or instant coffee powder (optional)
  • ¼ teaspoon fine sea salt
  • 2 teaspoons pure vanilla extract***
  • 1/2 cup (48g) Dutch process cocoa powder****

Optional Toppings

  • vegan whipped cream or whipped topping, vegan marshmallows, dairy-free chocolate shavings or chocolate chips


  • Add the oat milk and lite coconut milk to a 4-quart / 4L (or larger) saucepan or Dutch oven (to prevent overflow).* Add the chopped chocolate, maple syrup or sugar, espresso (if using), salt, and vanilla.
    Use a fine mesh sieve or sifter to sift the cocoa powder directly into the pan (or sift in advance, then add). Sifting removes the clumps, making it easier to whisk.
  • Bring to a rapid simmer over medium heat, whisking frequently to incorporate the cocoa powder into the milk.
    Simmer for 8 to 10 minutes, whisking occasionally until the hot chocolate has slightly thickened (it will thicken quite a bit more as it rests).
    Note: Once it comes to a simmer, it will expand in volume and rise upwards, so lower the heat as needed to prevent it from bubbling up.
  • Cool for 5 to 10 minutes (it'll burn your mouth otherwise!). Whisk again and give it a taste. If desired, sweeten to taste with sugar or maple syrup.
    Add optional toppings such as whipped cream and shaved chocolate. Enjoy!


General Note: The serving size will look quite small, but this hot chocolate is quite rich. Feel free to serve a bigger portion though! For a lighter hot chocolate, see the second note. 
* It’s important to use a large enough saucepan, as once the hot chocolate comes to a simmer, it will expand in volume quite a bit. If you use a smaller saucepan, it will overflow! 
** For a lighter hot chocolate, replace the lite coconut milk with more oat milk, but use a full-fat variety. You can also use slightly less dark chocolate, about 4 ounces. 
*** This hot chocolate is not too sweet, more of an adult hot chocolate. If you prefer a sweet hot chocolate, you can (1) add ⅓ to ½ cup sweetener; or (2) keep as is and stir more sweetener at the end, to taste. I prefer option 2 because every chocolate brand has a different level of sweetness; also, if you top it with whipped cream, it’ll add more sweetness. With option 2, you don’t risk ending up with a too-sweet hot chocolate. 
**** If it’s the holidays and you love chocolate mint, use peppermint extract instead.
***** You can sub with raw cacao powder or natural cocoa powder, but Dutch process has more rich chocolatey flavor!

Calories: 261kcal | Carbohydrates: 34g | Protein: 4g | Fat: 14g | Saturated Fat: 9g | Polyunsaturated Fat: 0.3g | Monounsaturated Fat: 3g | Sodium: 173mg | Potassium: 183mg | Fiber: 5g | Sugar: 23g | Vitamin A: 246IU | Calcium: 192mg | Iron: 2mg

Recipe: Nisha Vora / Rainbow Plant Life | Photography: Megan Morello

Did you make this recipe?

Tag @rainbowplantlife and hashtag it #rainbowplantlife

Leave a Comment & Rating

If you enjoyed this recipe, please consider giving it a star rating along with your comment! It helps others discover my blog and recipes, and your comments always make my day :) Thank you for your support!

Your email address will not be published. Required fields are marked *

Rate this recipe

40 comments on The Best Vegan Hot Chocolate

  1. Cyron Anthony

    5 stars
    This hot chocolate was amazing! Though I used Ghirardelli cocoa powder and didn’t have access to coconut milk, or espresso powder, I tried my best, and it turned out super great. The complexity of the flavours really surprising to me, since this was my first time using this certain recipe, and I loved it. 10/10, will try again in the future will proper ingredients!

    1. Kaitlin @ Rainbow Plant Life

      Thanks for sharing your experience, Cyron! We can’t wait for you to try the recipe as written.

  2. Elena

    5 stars
    This is so delicious and doesn’t taste coconutty or “vegan” as shared by dinner party guests. It’s truly amazing and luxurious, my new go to forever

    1. Kaitlin @ Rainbow Plant Life

      We’re so happy everyone enjoyed it, Elena! :)

  3. Jen L

    Will definitely be trying this, maybe along with the Cinnamon Roll Cake-will report back

    1. Kaitlin @ Rainbow Plant Life

      Lovely, we hope you enjoy, Jen!

  4. Sam

    5 stars
    Excellent! Elevated flavor, so good. Diluted it for kids and they loved it.

    1. Kaitlin @ Rainbow Plant Life

      We appreciate your feedback and support, Sam. Thank you for leaving a review!

  5. Shira

    5 stars
    Wow! You nailed this recipe. Thick, delicious hot chocolate. Decadence in a mug. Hinges on using high quality chocolate and cocoa powder. A+!

    1. Kaitlin @ Rainbow Plant Life

      Your review made our day, Shira! Thank you for taking the time to share your thoughts and for trying out the recipe.

  6. Nick

    5 stars
    I bought the ingredients for this recipe a few weeks ago. I’ve been waiting for a cold weekend to cozy up with it. The weather turned and I decided to make it today. Wow! This is the most premium hot chocolate I’ve ever had! This is the recipe to impress with! I love it!

    1. Kaitlin @ Rainbow Plant Life

      Amazing to hear you’re such a fan of the hot chocolate, Nick!

  7. Laurie

    5 stars
    Amazing. I had high expectations (because everyone of Nisha’s recipes’ I try is a 10/10) but this blew me away. So creamy. I added a very light sprinkle of cinnamon and it was delicious without any added sweetener. (I didn’t have any oat milk on hand so used Almond milk. No espresso powder.) A small cup is completely satisfying.
    Thanks Nisha!

    1. Kaitlin @ Rainbow Plant Life

      Thanks for sharing, Laurie!

  8. Ivana

    5 stars
    Loved it! So simple to make.

    1. Kaitlin @ Rainbow Plant Life

      Thanks for the lovely feedback, Ivana!

  9. Catherine Elkhattaby Strauch

    5 stars
    I made this for NYE and oh maaannnnnnnn it’s creamy and decadent and oh so delicious. I used coconut milk and cashew milk and it worked beautifully. Plus I have lots of leftovers and it has turned into a pudding-like consistency and I sneak multiple spoonfuls a day :)

    1. Kaitlin @ Rainbow Plant Life

      Awesome, Catherine. Thanks for your comment and for taking the time to review!

  10. Amalia

    5 stars
    Best hot chocolate I’ve made. As someone who is “allergic” to the watery stuff (think instant hot chocolate from a packet), I was super satisfied by this recipe. It’s rich, oh so creamy, indulgent, chocolately, and grown up, indeed. Topped it with marshmallows and then savored it. Thank you for yet another awesome recipe, Nisha!

    1. Kaitlin @ Rainbow Plant Life

      We’re glad you agree this is seriously the best vegan hot chocolate, Amalia! You’re welcome for the recipe!

  11. Elizabeth

    5 stars
    This is such a great recipe. Amazing hot chocolate.

    1. Kaitlin @ Rainbow Plant Life

      We’re thrilled you love it, Elizabeth!

  12. Mo

    5 stars
    Very delicious! Had to improvise for lack of oat milk but still turned out nice and creamy- used full fat coconut milk, lite coconut milk, and almond milk. Still figuring out the right amount of sweetness for the family, but not a problem- each person added what they needed—also Am excited to know I can make vegan whipped cream ! This was overall very yummy treat especially for chocoholic like me lol

    1. Kaitlin @ Rainbow Plant Life

      Lovely, Mo! And as for sweetness, you can mix maple syrup into individual portions in the future as well. Cheers!

  13. Jenn

    5 stars
    We made this on Christmas Day this year and oh my was it a hit!!! So rich and delicious!!! Thanks so much for this recipe, Nisha it is PERFECTION!!!

    1. Kaitlin @ Rainbow Plant Life

      Aw, we’re thrilled you love it Jenn!

  14. Daniela

    5 stars
    Hi Nisha.
    I just made this for my family and it was absolutely delicious!!!
    Super rich and thick, not overly sweet. I put mini marshmallows on top and it was great.
    Thank you!!

    1. Kaitlin @ Rainbow Plant Life

      Yum, Daniela! Thank you for promptly trying the recipe, we’re glad everyone enjoyed it :)

  15. Sally

    5 stars
    My new favorite holiday treat! I never leave reviews but I can’t believe how good this is!

    1. Kaitlin @ Rainbow Plant Life

      Yay, Sally! Thanks for the lovely review!

  16. Sarah Taylor

    5 stars
    Yes yes yes! This hot chocolate is thick and luxurious, just as promised! I am picky about my hot chocolates and this one reminds me of French ‘chocolat chaud à la ancienne’. When I drink this I can close my eyes and imagine I’m in a Parisian cafe. I will be making this again, perhaps with 0-1 tsp espresso powder, rather than 2.

    1. Kaitlin @ Rainbow Plant Life

      Wonderful, Sarah! Thank you for trying the recipe so promptly! :)

  17. Penelope

    5 stars
    I made this last night not expecting much – I figured, at best, it would be “good for vegan hot chocolate”. It’s so much more than that. This recipe stands up to any dairy-based hot chocolate. Really rich and so much chocolate flavor. Thank you for another great recipe, Nisha!!

    1. Kaitlin @ Rainbow Plant Life

      Amazing, thank you for trying the hot chocolate and leaving a rave review, Penelope!

  18. Leslie

    Holy moly. Just made a loose version of this (halved recipe, used almond milk, added extra coconut sugar, didn’t measure, couldn’t wait for it to boil so drank right away with anxiously awaiting toddler and preschooler 😂 ) and it is AMAZING. I even used monkfruit-sweetened chocolate chips as we try to avoid sugar in the winter months. My hot chocolate loving 4 year old was raving as was I. Thank you, as always, for bringing your incredible recipes into our home ❤️

    1. Kaitlin @ Rainbow Plant Life

      Lovely, thank you so much for sharing that with us, Leslie! You’re welcome for the recipes :)

  19. Prasiddha Thiyagarajan

    5 stars
    Omg, just made it and it was SOO DELICIOUS. One of the best hot chocolates I’ve ever had. In. My. Life—Vegan or not! Thanks for this recipe.

    1. Kaitlin @ Rainbow Plant Life

      Amazing! Thanks for sharing that with us, Prasiddha! We’re delighted to hear it!

  20. Aysu

    5 stars
    This looks veryyy good. Thank you for not using starch to make a thick & creamy hot chocolate!!! Lately I have seen too many of those in my vegan instagram bubble.

    1. Kaitlin @ Rainbow Plant Life

      You’re welcome, Aysu! We hope you get to try the hot chocolate very soon :)

Development Alchemy + Aim