When the hot milk hits finely chopped chocolate, the pieces soften from the outside in, and a few whisk strokes turn the bowl dark and glossy. That’s the moment I look forward to with French hot chocolate: it’s richer than a cocoa drink, but still smooth enough to sip slowly from a mug. This version makes four servings, with bittersweet chocolate carrying most of the flavor and just enough sugar to round it out.
Whole milk and heavy cream give the drink a plush texture without making it as heavy as melted chocolate on its own. I keep the heat gentle, then add the vanilla after the chocolate has melted so its aroma stays clear. The result is a warm, silky cup with deep chocolate flavor and a soft finish.

Kitchen Note
Chop the chocolate into small, even pieces before you start. Large chunks take longer to melt and can leave stubborn bits behind, while fine pieces soften evenly under the hot dairy.
Save this French hot chocolate for a quiet treat: bittersweet chocolate melts into a smooth, creamy cup that tastes far richer than cocoa.
Why the chocolate-to-dairy ratio matters more than extra sugar
This drink gets its depth from actual bittersweet chocolate, not cocoa powder. Eight ounces of chocolate across four servings gives each mug a pronounced cocoa taste and a thicker, more velvety feel than a lightly sweetened milk drink. The cream adds body, while the whole milk keeps the mixture fluid enough to pour and drink comfortably. That balance is what makes it feel luxurious without needing a heavy pour of chocolate syrup or a mound of sugar.
Adding more sugar isn’t the best fix if a cup tastes too mild. Sugar sweetens, but it doesn’t provide the cocoa butter and chocolate solids that create this drink’s rounded texture. The chocolate’s cacao percentage also matters: a bar toward the higher end of the specified range tastes more intense and less sweet than one toward the lower end. I like the restrained sweetness here because the chocolate stays at the center of every sip, with the dairy smoothing its sharper edges rather than hiding them.
What bittersweet chocolate contributes that cocoa powder can’t

- Bittersweet chocolate — Choose a bar labeled 60% to 70% cacao for the intended balance of bitterness and sweetness. A good grocery-store bar works; finely chopping it matters more here than paying extra for a specialty brand. Chocolate chips aren’t my first choice because they may not melt as evenly. Semisweet chocolate is a workable swap if you prefer a sweeter cup.
- Whole milk and heavy cream — Whole milk gives the drink enough fluidity to pour, and heavy cream makes it feel silky instead of thin. Standard grocery-store dairy is fine; freshness matters more than brand. Replacing the cream with whole milk works, but the drink will be lighter and less velvety.
- Granulated sugar and kosher salt — The small amount of sugar softens the bitter edge without turning the drink candy-sweet. Salt makes the chocolate taste more rounded; it shouldn’t make the cup taste salty. Granulated sugar dissolves readily as the dairy warms.
- Vanilla extract — Vanilla adds a warm, familiar aroma that sits behind the chocolate. Use an extract you enjoy tasting; there’s no need for an expensive bottle, but stale vanilla can taste flat. It goes in after the chocolate is smooth, so its aroma doesn’t spend the whole heating process over the stove.
From steaming dairy to a smooth, glossy cup
Warm the milk and cream gently
Put the milk, cream, sugar, and salt in a 2-quart saucepan over medium heat. Stir occasionally as the mixture warms for 5 to 7 minutes. Look for steam rising from the surface and small bubbles gathering around the edges of the pan. Don’t let it boil; a rolling boil is unnecessary and makes the dairy harder to handle smoothly.
Let the hot dairy melt the chocolate
Put the finely chopped chocolate in a heatproof bowl before you pour. Once the milk mixture is steaming, pour it over the chocolate and leave it alone for 2 minutes. That short rest gives the pieces time to soften before you start whisking. Whisk until the mixture looks uniform and glossy, checking the bottom and sides of the bowl for any unmelted chocolate.
Finish gently on the stove
Whisk the vanilla into the smooth chocolate mixture, then pour everything back into the saucepan. Warm it over low heat for 1 to 2 minutes, stirring as it heats. Keep the heat low rather than trying to rush the final warming; the mixture should be hot and fluid, not bubbling. Divide it among four mugs and serve while warm.
How to shift the sweetness or make a dairy-free pot
A sweeter, softer chocolate taste
Swap the bittersweet chocolate for semisweet chocolate, keeping the amount the same. The cup will taste sweeter and less sharply cocoa-forward, while still getting its body from real chocolate rather than cocoa powder.
A dairy-free version with coconut
Replace the whole milk and heavy cream with an equal total volume of unsweetened full-fat canned coconut milk, and choose dairy-free bittersweet chocolate. The drink will be coconut-forward, with a rich texture but less of the neutral, milky finish of the original.
Storage and Reheating
- Refrigerator: Cool promptly, cover, and refrigerate for up to 3 days. It will become thicker as it chills.
- Freezer: Freezing isn’t recommended; the dairy and melted chocolate can separate or turn grainy after thawing.
- Reheating: Warm it in a saucepan over low heat, stirring until smooth and hot. Avoid boiling it, which can make the texture less even.
Questions that come up while making French hot chocolate

French Hot Chocolate
Ingredients
Equipment
Method
- Place the chopped bittersweet chocolate in a heatproof bowl.
- Heat the whole milk, heavy cream, granulated sugar, and kosher salt in a 2-quart saucepan over medium heat for 5 to 7 minutes, stirring occasionally, until steaming and small bubbles form around the edges; do not let it boil.
- Pour the hot milk mixture over the chocolate.
- Let stand for 2 minutes.
- Whisk until smooth.
- Whisk in the vanilla extract.
- Return the mixture to the saucepan.
- Warm over low heat for 1 to 2 minutes, stirring, until hot.
- Divide among four mugs and serve.



