To make homemade hot chocolate, warm 1½ cups whole milk with ¼ cup heavy cream until steaming, then whisk in ⅓ cup chopped semi-sweet or dark chocolate and 1 tablespoon cocoa powder until smooth and glossy. Stir in 1 to 2 tablespoons sugar, ¼ teaspoon vanilla and a pinch of sea salt, and top it with mini marshmallows toasted under the broiler for 30 to 60 seconds.
It takes about 10 minutes and makes 3 small mugs, about 2 cups in total. The chopped bar is what makes it taste like melted chocolate instead of sweet brown milk.

Following a special diet?
Every recipe on this site can be converted to gluten-free, vegan, dairy-free, keto, nut-free or egg-free with adjusted ratios so nothing falls flat.
Try the Recipe Converter →What You Need for Three Small Mugs
- Milk: 1½ cups whole milk, or any milk you like
- Cream: ¼ cup heavy cream, optional, for a thicker cup
- Chocolate: ⅓ cup chopped semi-sweet or dark chocolate from a bar, plus 1 tablespoon unsweetened cocoa
- Flavor: 1 to 2 tablespoons sugar, ¼ teaspoon pure vanilla, a pinch of sea salt
- Topping: a handful of mini marshmallows, toasted; extra chocolate shavings, cinnamon, nutmeg or whipped cream if you like
- Time: 5 minutes prep, 5 minutes on the stove
Chopped Chocolate or Cocoa Powder Alone?

Cocoa powder gives the deep chocolate taste. Chopped chocolate gives body. It brings cocoa butter, which coats your tongue and makes the drink feel closer to a thin ganache than to flavored milk. I used to make mine with cocoa alone. It did the job, but it was thin.
Use both. One tablespoon of cocoa deepens the flavor without making the cup chalky, and ⅓ cup of chopped chocolate does the rest. Buy a bar, not chips. Chips contain stabilizers so they hold their shape in cookies, and that same property keeps them from melting smooth in milk.
Bring the Milk to Steaming, Not Boiling

Warm the milk and cream in a small saucepan over medium heat. Watch for wisps of steam and tiny bubbles around the edge. That is the moment. If the milk boils, the cream can catch on the bottom and the finished drink tends to turn grainy.
Take it down to low, add the chopped chocolate and the cocoa, and whisk without stopping. Chop the chocolate small, about the size of a pea, so it melts in under a minute while the milk is still hot. The mixture goes from speckled to smooth and glossy. That shine tells you it is ready.

Semi-Sweet or Dark: Setting the Sugar
Add the sugar after the chocolate has melted, so you can taste what the chocolate already brings. With semi-sweet chocolate, 1 tablespoon is usually enough. With a darker bar, around 70 percent, you will probably want the full 2 tablespoons.
Then the vanilla and the salt. The pinch of sea salt does not make the drink salty. It takes the flat edge off the sugar and makes the chocolate taste stronger.
Toasting Marshmallows Under the Broiler or With a Torch

Dropped straight into the mug, mini marshmallows just melt and disappear. Toasted, they sit on top with crisp brown edges and soft, gooey middles.
Line a baking sheet with parchment and spread the marshmallows in a single layer. Put the sheet on the top rack under the broiler for 30 to 60 seconds and stay at the oven door with the light on. They puff, then turn golden, and a few seconds later they burn. Pull them at golden and slide them onto the mug with a spatula, since they stick to fingers.
A kitchen torch gives you more control. Pile the marshmallows on the poured drink and toast them right in the mug, a few at a time, until the tops blister.
If the Chocolate Turns Grainy or Thin
- Grainy or speckled: the milk boiled, or chips were used. Take the pan off the heat and whisk hard, or give it 5 seconds with a stick blender. Strain out any bits that stay.
- Thin and milky: add the ¼ cup cream, or a little more chopped chocolate, and whisk it in over low heat.
- Too sweet: whisk in a little more cocoa and a splash of milk.
- Bitter: the chocolate is very dark. Add sugar a teaspoon at a time and keep the pinch of salt in.
- Burnt taste: the bottom caught. Pour it into a mug without scraping the pan, and use lower heat next time.
Leftovers, Reheating and a Pot for Guests

Pour any leftover hot chocolate into a jar, cover it and keep it in the fridge for up to 2 days. It thickens as it chills. Reheat it on low on the stove with a splash of milk, whisking, or in the microwave in 30 second bursts, stirring between each. Do not let it boil. Toast fresh marshmallows each time; toasted ones go chewy and flat if they sit.
For a group, I double or triple the recipe and keep it warm in a slow cooker on low, with toppings in little bowls: shaved dark chocolate, nutmeg, cinnamon sticks for stirring, crushed candy cane. For a bigger batch made right in the cooker, use my crock pot hot chocolate.
Quick Answers About Hot Cocoa at Home
Can I make it dairy free?
Yes. Use oat milk or almond milk instead of the milk and cream; homemade oat milk gives the creamiest cup. Skip the whipped cream unless it is a dairy-free one.
Can I use maple syrup or honey instead of sugar?
Yes. Stir 1 to 2 tablespoons into the pan after the chocolate melts and taste. Maple tastes warmer, honey a little floral.
Is there a lighter version?
This one is made for richness. For a lower sugar mug, try my healthy hot chocolate.
Can I add alcohol?
A splash of homemade Baileys stirred into an adult mug works well. Add it after the pan is off the heat.
Hot Chocolate Desserts for the Same Craving
When you want hot chocolate you can eat with a spoon, make hot chocolate mousse cups or cinnamon hot chocolate pudding cups. And for something to dunk in the mug, hot chocolate cookies are made for it.
The Coziest Hot Chocolate with Toasted Marshmallows
This homemade hot chocolate is a rich, creamy drink made with whole milk, a little heavy cream, chopped semi-sweet or dark chocolate, cocoa powder, vanilla and a pinch of sea salt, topped with toasted mini marshmallows. It takes about 10 minutes and makes 3 small mugs, about 2 cups. Warm the milk only until steaming, never boiling, then whisk in the chopped chocolate bar and cocoa until glossy, so the hot chocolate stays smooth, not grainy. Broil the marshmallows for 30 to 60 seconds for hot chocolate with toasted marshmallows, or use a torch. Serve it on cold nights or set up a cocoa bar with whipped cream and shavings. Keep leftovers 2 days in the fridge.
Ingredients
- 1 ½ cups whole milk (or any milk of your choice)
- ¼ cup heavy cream (optional for extra richness)
- ⅓ cup chopped semi-sweet or dark chocolate (use a good quality bar, not chips)
- 1 tablespoon unsweetened cocoa powder
- 1 to 2 tablespoons sugar (adjust to your taste)
- ¼ teaspoon pure vanilla extract
- Pinch of sea salt
- Handful of mini marshmallows
- Optional toppings:
- Extra chocolate shavings
- Cinnamon or nutmeg
- Whipped cream
Instructions
- WARM THE MILK AND CREAM: In a small saucepan over medium heat, warm the milk and cream together until steaming and just about to simmer. Do not let it boil.
- WHISK IN CHOCOLATE AND COCOA: Add the chopped chocolate and cocoa powder. Whisk continuously until the chocolate is fully melted and the mixture is smooth and glossy.
- SWEETEN AND FLAVOR: Stir in the sugar, vanilla extract, and a pinch of sea salt. Taste the hot chocolate and adjust the sweetness as needed.
- TOAST THE MARSHMALLOWS: Spread a layer of mini marshmallows on a baking sheet and broil for 30 to 60 seconds until golden brown, watching carefully to prevent burning. Alternatively, use a kitchen torch to toast them directly for a more controlled result.
- ASSEMBLE THE MUG: Pour the hot chocolate into a mug. Top with the toasted marshmallows and add any optional toppings like whipped cream or chocolate shavings.
- SERVE IMMEDIATELY: Enjoy while hot, letting the marshmallows melt slightly into the drink for extra richness.
Notes
Use a chopped chocolate bar, not chips: chips contain stabilizers and do not melt smoothly. Heat the milk and cream only until steaming; boiling can make the hot chocolate grainy. Add the sugar after the chocolate melts and taste: semi-sweet chocolate usually needs about 1 tablespoon, darker chocolate closer to 2. Broil the marshmallows in a single layer on parchment and watch them the whole time; they burn within seconds once golden. For a dairy-free version, substitute the milk and cream with plant-based alternatives like oat milk or almond milk and skip the whipped cream unless using a dairy-free version. Maple syrup or honey can replace the sugar. Refrigerate leftovers up to 2 days and reheat gently with a splash of milk.
Nutrition Information
Yield
3Serving Size
1Amount Per Serving Calories 679Total Fat 36gSaturated Fat 22gTrans Fat 0gUnsaturated Fat 12gCholesterol 43mgSodium 137mgCarbohydrates 80gFiber 6gSugar 64gProtein 9g
