My carefully tested homemade hot chocolate recipe yields rich and indulgent, silky smooth (never grainy!) results every single time. Recipe makes enough for two, and can easily be halved or doubled. Watch the how-to video for tips!
The BEST Homemade Hot Chocolate
There’s nothing quite like a warm mug of rich hot chocolate on a cold day.
It’s the *perfect* drink to sip while decorating your Christmas tree, making sugar cookies, or watching snow fall outside your window. Last year, I shared my version of the internet famous hot chocolate bombs, but this year, I’m sharing a real deal, velvety and luxurious hot chocolate recipe.
It’s made the way hot chocolate should be: with melted chocolate, a touch of cream, and milk (plus a few other ingredients!). Rich and indulgent as-is, you can dress it up with whipped cream and marshmallows, but really, it’s perfect on its own.
For such a simple drink, this recipe took a shockingly long time to get just right. I figured out the flavors and ingredients pretty quickly, but one issue I’d always run into was that the chocolate ended up grainy instead of completely smooth.
It took a lot of work to nail down the technique for getting a smooth, perfectly melted chocolate, but after much trial and error, I finally did. I can’t wait to share it with you, so let’s get started!
What You Need
My hot chocolate recipe might be slightly more complicated than opening a packet of hot cocoa mix, but the results speak for themselves! Here’s what you need:
- Dark chocolate. Use a quality dark chocolate that you enjoy the taste of. I like couverture chocolate or a chopped 60% cacao premium chocolate bar. If you only have chocolate chips, they will work in a pinch but are more likely to separate when melted and simply don’t yield results that are as nice.
- Heavy cream and milk. I like to use a blend of the two for several reasons. Melting the chocolate first with the high fat cream helps encourage it to melt smoothly and adds a richness to the end results. However, any more cream than this would make it too rich, so we switch over to milk for the rest of the liquid. The ultimate result is a luxurious hot chocolate with a prevalent chocolate flavor and perfectly smooth texture.
- Sugar. I liked the added depth of flavor from using light brown sugar instead of granulated, but granulated will work if you don’t have brown sugar. If I’m making this recipe for 4 or more people, I prefer to use half brown and half granulated sugar, as I’ve found that the molasses taste can become too prevalent at larger amounts.
- Vanilla. If you made a batch of homemade vanilla extract, now’s the time to use it!
- Sea salt. A pinch of table salt will work too–this just balances the sweetness.
- Marshmallows. I like to add mini marshmallows (or homemade peppermint marshmallows!), but you can skip them if you’re not a fan.
SAM’S TIP: This recipe can be cut in half for a single serving or multiplied to serve a crowd. The only difference when scaling up is that I like to swap out half of the brown sugar for regular granulated to keep it from becoming too rich.
Remember, this is just an overview of the ingredients I used and why. For the full recipe please scroll down to the bottom of the post!
How to Make Hot Chocolate
- Combine chocolate, cream, and sugar in a saucepan over medium low heat, whisking constantly until smooth and completely melted.
- While still whisking, very slowly drizzle in your milk, about 2 tablespoons at a time. Keep whisking and adding milk, allowing the mixture to regain temperature before adding each addition.
- Continue to cook until mixture is warmed then remove from heat and add vanilla and salt.
- Pour into mugs and top with marshmallows, whipped cream, or just enjoy plain!
A Note on the Technique
For such a simple recipe, this one actually took LOTS of testing! Most homemade hot chocolate recipes toss all the ingredients together and cook them at once. While that’s a bit faster and easier, unfortunately it often yields a drink with small flecks of chocolate floating throughout.
That wouldn’t do, I needed smooth, velvety results.
After testing many, many different techniques (some too cumbersome, some simply ineffective), I ultimately ended up using a technique where, instead of adding everything all at once, I start by slowly melting together the chocolate, cream, and sugar as described above. This melts smoothly and is very much like a ganache.
Then, I very gradually add the (thinner) milk, slowly whisking it in and gradually allowing it to warm with the chocolate. This technique takes a minute longer than just tossing everything in one pot, but it yields a silky smooth hot chocolate every time.
SAM’S TIP: Whatever you do, don’t turn up the heat to make the process faster, or you might end up with a gritty texture and/or scalded milk. This recipe relies on a low, slow cooking process to yield luxuriously smooth results. Have patience and you will be pleased with the results!
Frequently Asked Questions
Using cocoa powder would technically make this hot cocoa (see next question) and would require some additional tweaks to the remaining ingredients and overall technique. This recipe is designed to be made with chocolate, so I suggest you stick with that for best results!
Hot chocolate should always be made with (surprise) chocolate and hot cocoa is made with cocoa powder only. I opted to share a chocolate recipe today, but if you’re interested in a hot cocoa recipe, leave me a note in the comments!
My hot chocolate recipe is perfectly rich and indulgent on it’s own, no toppings needed. However you can always go the extra mile and top with whipped cream and crushed candy canes or toffee bits, cinnamon, or a drizzle of salted caramel sauce or chocolate sauce!
Let’s bake together! I’ll be walking you through all the steps in my written recipe and video below! If you try this recipe, be sure to tag me on Instagram, and you can also find me on YouTube and Facebook
Homemade Hot Chocolate
- 4 oz quality dark chocolate bar finely chopped (see note for recommendations)
- ½ cup heavy cream (118ml)
- 2 Tablespoons light brown sugar may substitute granulated sugar
- 1 ½ cups whole milk (236ml)
- ¼ teaspoon vanilla extract
- 1 pinch sea salt table salt will also work (a "pinch" for me is about 1/16th teaspoon of salt)
- Mini marshmallows for serving optional
- Small saucepan
- Combine chocolate, heavy cream, and sugar in a small saucepan over medium-low heat and whisk to combine.
- Whisk constantly until chocolate is melted and mixture is smooth (don't turn up the heat to speed up the process, heat that's too high will give you grainy results).
- Once the chocolate is completely melted, slowly drizzle milk mixture into the saucepan while whisking constantly. I do this slowly, adding about 2 Tablespoons at a time and making sure the milk is completely incorporated and the mixture has time to regain temperature before adding more.
- Once all milk has been added, whisk a bit longer until mixture is thoroughly heated (I look for steam coming off the pot or will hover my hand over the pot to make sure I can feel the heat radiating from it — the milk can cool the mixture quickly and you need to give it a bit of time to warm or your drink won’t be!).
- Remove from heat and stir in vanilla extract and a pinch of salt.
- Pour into heatproof mugs and serve warm, preferably topped with marshmallows!
ScalingYou may easily divide this recipe in half for 1 serving or double it for 4 servings! When making 4 servings, I recommend using half light brown and half granulated sugar and I use ⅛ teaspoon fine sea salt.
ChocolateI recommend using a quality dark chocolate that you enjoy the taste of. I like a chopped 60% cacao premium chocolate bars (Lindt or Ghirardelli are good options). Couverture chocolate is another great option and does not need to be chopped if it is in chip form. Note that chocolate chips will work in a pinch, but are not the best choice here. Semisweet chocolate will yield a sweeter drink and you may wish to slightly reduce the sugar.
Hot Chocolate MugsFor those of you asking, these are the hot chocolate mugs I used in my photos (affiliate link!). Love them!
Nutritional information is based on third-party calculations and should be considered an estimate only. Actual nutritional content will vary based upon brands used, measuring methods, cooking method, portion sizes, and more.