
Classic Stovetop Hot Chocolate
Rich, velvety hot chocolate made the real way: cocoa powder and chopped dark chocolate whisked into gently heated milk, with a touch of vanilla and salt. Deeply chocolatey but not cloying, and ready in about 15 minutes.
- Prep
- 5 min
- Cook
- 10 min
- Total
- 15 min
- Makes
- About 4 cups (950 ml), 4 mugs
Steps
Before you start
- Chop the chocolate into small, even pieces (about ¼ inch / 6 mm) so it melts quickly and smoothly.
- Use whole milk for the creamiest result; lower-fat milk works but tastes thinner.
- Keep the heat moderate. Milk scorches on the bottom of the pan easily, so stay near the stove and whisk often.
- Warm your mugs with hot tap water while the milk heats, if you like.
Chop the chocolate
- Finely chop 4 oz (115 g) dark chocolate into ¼-inch (6 mm) pieces and set aside.
- If your cocoa powder is lumpy, push it through a fine-mesh sieve.
+ Show details− Hide details
Ready when: Chocolate pieces are small and even; cocoa is free of lumps.
Tip: Small pieces melt before the milk gets too hot, which prevents graininess.
Make a cocoa paste
- In a 2-quart saucepan off the heat, whisk the cocoa powder, sugar and salt with ½ cup (120 ml) of the cold milk until a thick, smooth paste forms with no dry pockets.
+ Show details− Hide details
Ready when: Paste is glossy and completely smooth.
Tip: Starting with a paste keeps cocoa from floating in clumps on top of the milk.
Add the remaining milk
- Whisk in the remaining 3½ cups (830 ml) milk until evenly combined and uniformly brown.
+ Show details− Hide details
Ready when: No streaks of white milk remain.
Heat gently
- Set the pan over medium-low heat.
- Warm for 5–7 minutes, whisking every 30 seconds or so and scraping the bottom and corners, until steam rises and tiny bubbles form around the edge (about 160–170°F / 71–77°C).
+ Show details− Hide details
Ready when: Steaming hot with small bubbles at the edge, but not boiling.
Tip: Do not let it boil; boiling can scorch the milk and form a thick skin.
Melt in the chocolate
- Remove the pan from the heat.
- Add the chopped chocolate and whisk constantly for 1–2 minutes until every piece has melted and the drink looks smooth and glossy.
+ Show details− Hide details
Ready when: No visible chocolate bits; the surface is glossy.
Tip: If a few bits remain, return to low heat for 30 seconds while whisking.
Add vanilla and serve
- Stir in the vanilla extract.
- Taste and add up to 1 more tablespoon sugar if you want it sweeter.
- Whisk vigorously for 15 seconds for a light foam, then ladle into 4 mugs and serve right away.
+ Show details− Hide details
Ready when: Hot, silky and lightly frothy.
Tip: Add vanilla off the heat so its aroma doesn't cook away.
Good to know
Tips
- Use real chopped bar chocolate rather than chips for the smoothest, richest texture.
- The pinch of salt sharpens the chocolate flavor; don't skip it.
- For extra richness, replace ½ cup (120 ml) of the milk with heavy cream.
- Top with whipped cream, marshmallows or shaved chocolate for serving.
Make ahead
"Make the full batch up to 3 days ahead and refrigerate. Reheat gently and whisk well before serving."
Storage & reheating
"Room temperature: serve within 30 minutes of making. Fridge: airtight container up to 3 days; whisk before reheating as it thickens and separates. Freezer: not recommended. Reheat in a saucepan over low heat, whisking, until steaming, or microwave in 30-second bursts, stirring between each."
Substitutions
- whole milk → Unsweetened oat milk or soy milk. Gives a dairy-free version; oat milk is the creamiest. Heat gently as it can separate.
- dark chocolate (60–70% cacao) → Semisweet chocolate chips. Slightly sweeter and a bit less smooth; reduce sugar to 2 tablespoons.
- granulated sugar → Packed light brown sugar. Adds a subtle caramel note; use the same weight.
- pure vanilla extract → Pinch of cinnamon or ¼ teaspoon peppermint extract. Use cinnamon for warmth or peppermint for a minty version; add off the heat.





