I had my first real Italian hot chocolate — cioccolata calda — at a small café, and I remember thinking someone had made a mistake and served me warm chocolate pudding instead of a drink. It was thick enough to coat the spoon, deeply chocolatey, and nothing like the watery packet stuff I grew up making. I came home and immediately tried to recreate it.
The secret is two things working together: real chopped dark chocolate melted into the milk, and a small amount of cornstarch that brings the whole thing to that signature thick, velvety consistency. I tried it without the cornstarch my first time and got something that tasted fine but was basically just cocoa. The cornstarch is the move. Don't skip it.
My husband drinks this slowly, like it's something to be respected. Zainab asks for extra whipped cream on top every single time. I usually make this on cold evenings when the kids need something warm before bed — it feels like more of a treat than it is, which is my favorite kind of recipe. If you're looking for something to serve alongside these during the holidays, my Christmas Oreos pair really well with a mug of this.
One thing to set expectations: this is not a light drink. It's thick and rich and genuinely filling — more like a liquid dessert than a beverage. A small mug goes a long way. I usually serve it in those smaller 8-ounce café-style mugs rather than a big travel cup. You'll understand once you make it.

Why You'll Love This Recipe
- It actually tastes like the café version: Most homemade hot chocolate recipes taste like warm chocolate milk — fine, but not special. This one is genuinely thick, spoon-coating, and rich in a way that feels like you ordered it somewhere. The combination of cocoa powder AND real chopped chocolate is what makes the difference. Once you've had it this way, it's hard to go back.
- Ready in about 15 minutes: The whole thing comes together in one saucepan and takes maybe 15 minutes from start to mug. There's no tempering chocolate, no double boiler, nothing fancy. I've made this on weeknights after dinner when I needed something warm and didn't want a project.
- Works with what you have: You probably already have most of this in your pantry — cocoa powder, sugar, cornstarch, vanilla. The only thing you might need to grab is a bar of dark chocolate, and any grocery store carries that. I usually use a Ghirardelli 60% bittersweet bar broken into pieces, but any dark chocolate bar works.
- Easy to customize for different tastes: My husband likes his with a pinch of cayenne. Zainab wants extra sugar and whipped cream piled high. I like mine plain with just a small sprinkle of flaky salt on top. The base recipe handles all of these well — it's forgiving and versatile once you get the hang of it.
- Genuinely impressive to serve to guests: I made this for some friends who came over during the holidays last year and everyone asked for the recipe. It looks like you put in serious effort, but the technique is actually pretty simple once you know the trick with the cornstarch. If you're planning a holiday spread, it fits right in alongside something like these Big Fat Pecan Sticky Buns for a full cozy breakfast or dessert situation.
Ingredients
- 2 cups whole milk
- ¼ cup heavy cream
- 3 tablespoons unsweetened cocoa powder
- 3 tablespoons granulated sugar (adjust to taste)
- 2 tablespoons cornstarch
- 100g (about 3.5 oz) dark chocolate, chopped (I use a 60% bittersweet bar)
- 1 teaspoon vanilla extract
- Pinch of salt
- Optional toppings: whipped cream, marshmallows, ground cinnamon, flaky salt
Directions
- Step 1: Mix the dry ingredients. In a small bowl, whisk together the cocoa powder, sugar, cornstarch, and pinch of salt until completely combined. Getting these mixed before they hit the milk is what prevents lumps — I learned that the hard way when I just dumped the cornstarch straight into the pot and ended up with little white clumps I couldn't whisk out.
- Step 2: Warm the milk and cream. Pour the whole milk and heavy cream into a medium saucepan and set it over medium heat. You want it steaming and warm but not boiling — small bubbles around the edge of the pan is your signal. Boiling can cause the milk to scorch on the bottom and gives the whole thing a slightly bitter taste.
- Step 3: Whisk in the dry mixture. Slowly pour the cocoa-cornstarch mixture into the warm milk while whisking constantly. Don't dump it all at once — add it in a slow, steady stream. Keep stirring continuously for about 5 to 7 minutes until the mixture visibly thickens and coats the back of a spoon.
- Step 4: Add the chocolate and vanilla. Remove the pan from the heat, then add the chopped dark chocolate and vanilla extract. Stir until the chocolate is completely melted and the mixture is glossy and smooth. Taking it off the heat before adding the chocolate keeps it from getting grainy or separating.
- Step 5: Pour and serve. Ladle into mugs immediately and add any toppings you like. It thickens further as it sits, so serve it right away.

Tips for Success
- Don't skip the cornstarch: I know it sounds unusual for a drink, but this is what separates Italian hot chocolate from regular cocoa. Without it, the liquid is thin and slides right off a spoon. The cornstarch is what gives it that thick, pudding-adjacent texture. Two tablespoons for two cups of milk is the right ratio — I've tried more and it gets gluey, less and it doesn't thicken enough.
- Whisk constantly once you combine: The moment the dry mixture hits the warm milk, you need to be stirring. If you walk away or slow down, you'll get lumps or uneven thickening. Set a timer for 7 minutes and just stand there whisking — it's meditative if you let it be. A small balloon whisk works better here than a wooden spoon.
- Use real chocolate, not just cocoa powder: The original recipe in the post uses both, and that's correct. The cocoa powder gives you depth and that slightly bitter chocolate flavor. The chopped chocolate bar gives you richness and glossiness. Using only one or the other gets you partway there but not all the way. I use whatever dark chocolate bar I have — Lindt 70% is great if you can find it at Walmart or Costco.
- Add chocolate off the heat: This is a small thing that makes a noticeable difference. If you add chopped chocolate while the pan is still on the burner, there's a risk the mixture gets too hot and the chocolate turns grainy or seizes slightly. Pull the pan off the heat first, then stir in the chocolate and vanilla. It melts perfectly from the residual heat.
- Taste and adjust sweetness before serving: I add sugar gradually because the bitterness of dark chocolate varies a lot between brands. After you've added the chocolate, taste it and decide if you need another teaspoon of sugar. Some nights I go with the full 3 tablespoons, some nights 2 is enough. It's easier to add a little more sugar than to balance out something that's too sweet.
Variations
- Spiced version: Add ½ teaspoon of ground cinnamon and a tiny pinch of cayenne to the dry mixture before you whisk it into the milk. My husband discovered this accidentally when he grabbed the wrong spice jar and actually preferred it to the original. The heat from the cayenne is subtle but it warms you from the inside out — great on really cold nights.
- Mocha version: Stir in a shot of strong espresso or 2 tablespoons of very strong brewed coffee along with the vanilla at the end. It makes the chocolate flavor even deeper and turns this into more of an after-dinner drink for adults. My husband loves this version on weekends.
- Dairy-free version: Replace the whole milk with oat milk and skip the heavy cream, or use full-fat coconut milk for something even richer. Oat milk works remarkably well here — it has enough body to thicken nicely with the cornstarch. Use dairy-free dark chocolate (most 70%+ bars are naturally dairy-free, but check the label). This is not my everyday version but it genuinely works.
- Milk chocolate version: If you're making this for kids who find dark chocolate too bitter, swap the dark chocolate for milk chocolate and reduce the sugar to 1 tablespoon since milk chocolate is already sweet. The result is lighter and sweeter — closer to what Saad prefers. It's less complex but still way better than any packet mix.
- Orange zest version: Grate the zest of half an orange into the dry mixture before combining. Chocolate and orange is a classic pairing and it works beautifully here — it makes the whole mug smell incredible. I made this version over the holidays and it disappeared faster than anything else I put out. If you're doing a holiday spread, check out these 27 Christmas Side Dishes for everything else on the table.
Serving and Storage
Serving
Serve immediately after making — the hot chocolate thickens further as it cools, and while still drinkable, it's at its best the moment it comes off the stove. Pour into smaller mugs (around 8 oz) rather than large ones, because this is rich and a little goes a long way. Whipped cream on top is not just decoration — it melts slowly into the chocolate and rounds out the flavor. Zainab insists on sprinkles. A dusting of cinnamon or a few flakes of flaky sea salt on top of the whipped cream is my personal favorite. I sometimes serve this alongside Strawberry Oatmeal Bars for an afternoon snack situation that feels genuinely special.
Storage
If you have leftovers, pour them into a jar or airtight container and refrigerate. They'll keep for up to 2 days. When you reheat, pour it back into a saucepan over low heat and whisk continuously as it warms — the mixture will loosen back up as it heats. Don't microwave it directly; it can heat unevenly and the texture gets strange. I'll be honest though: this reheats well enough but fresh is noticeably better. If you're making it for guests, I'd make it fresh rather than ahead of time.

Frequently Asked Questions
Can I use low-fat milk instead of whole milk?
You can, but the result will be noticeably thinner and less rich. Whole milk has the fat content that helps the hot chocolate feel velvety and coating. If whole milk isn't an option, at least keep the heavy cream — that does a lot of the work. With 2% milk and no cream, you'll get something drinkable but it won't have that thick café texture.
How do I prevent lumps when adding the cornstarch?
Mix the cornstarch thoroughly with the cocoa powder and sugar in a dry bowl before it touches any liquid. Then pour that dry mixture into the warm milk in a slow, steady stream while whisking constantly. Never add cornstarch directly to hot liquid on its own — that's how you get lumps. If you do end up with a few lumps, strain the mixture through a fine mesh sieve before adding the chocolate.
Can I make this ahead of time?
Yes, but with a caveat. You can make it up to a day ahead and store it in the fridge. When you reheat it, put it back in a saucepan over low heat and whisk steadily as it warms — it will loosen up again and thicken back to the right consistency as it heats. Don't microwave it straight from the fridge. Fresh is always better here, but the reheated version is still very good.
Is this recipe gluten-free?
Yes, all the ingredients in this recipe are naturally gluten-free. Cornstarch, cocoa powder, chocolate, milk, cream, vanilla — none of them contain gluten. Just double-check your specific chocolate bar's label if you're cooking for someone with celiac, since some bars are processed in facilities that also handle wheat.
Can I make this without the chopped chocolate bar and just use cocoa powder?
Technically yes, but I'd really encourage you not to skip the chocolate bar if you can avoid it. The cocoa powder alone gives you flavor but not richness or that glossy, thick texture. The chopped chocolate is what makes this feel luxurious rather than just fancy cocoa. If you genuinely don't have any chocolate bars on hand, add an extra tablespoon of cocoa and an extra teaspoon of butter stirred in at the end — it's not the same but it helps.

SINFULLY DELICIOUS THICK ITALIAN HOT CHOCOLATE
Ingredients
- 2 cups whole milk
- ¼ cup heavy cream
- 3 tablespoons unsweetened cocoa powder
- 3 tablespoons granulated sugar
- 2 tablespoons cornstarch
- 100 g dark chocolate chopped
- 1 teaspoon vanilla extract
- Whipped cream optional, for topping
Instructions
Mix Dry Ingredients:
- In a small bowl, whisk together cocoa powder, sugar, and cornstarch.
Heat Milk and Cream:
- In a saucepan, heat milk and heavy cream over medium heat until warm but not boiling.
Combine and Thicken:
- Slowly whisk the dry ingredients into the warm milk mixture. Stir continuously until the mixture thickens (about 5-7 minutes).
Add Chocolate and Vanilla:
- Remove from heat, add chopped dark chocolate and vanilla extract. Stir until smooth and glossy.
Serve:
- Pour into mugs, top with whipped cream if desired, and enjoy immediately.
Notes
- Make Ahead: Reheat gently on the stove before serving.
- Variations: Use almond or oat milk for a dairy-free version.
- Serving Suggestion: Pair with biscotti or shortbread cookies.
- Storage: Best enjoyed fresh, but can be refrigerated and reheated within 1 day.
This is one of those recipes I keep coming back to because it requires almost nothing from me — one pan, fifteen minutes, a handful of ingredients — and the result genuinely impresses people every time. It's not authentic in the sense that I didn't learn it from an Italian grandmother, but it captures what makes the real thing special: that thick, spoonable richness that feels like an event rather than just a warm drink.
I make this most often in the winter, on evenings when everyone's cold and needs something warming but dinner already happened. It also works as a dessert on its own — especially if you're doing a holiday spread and don't want to bake a whole cake. It pairs well with anything buttery and crisp on the side. A quiet mug of this after the kids are in bed is honestly one of my favorite things about cold-weather cooking.
If you make it, I hope it becomes a regular in your kitchen too. And if you're building out a full cozy spread, my Big Fat Pecan Sticky Buns alongside a mug of this in the morning is a combination I will defend forever. 🍫☕✨
If you liked this recipe, here are a few others from my kitchen you might want to try next:
- Big Fat Pecan Sticky Buns — the kind of thing you make on a slow Saturday morning with a mug of something warm
- Christmas Oreos — easy, festive, and something the kids can help with
- Strawberry Oatmeal Bars with Buttery Oat Crumble — works as breakfast or dessert, which is my kind of recipe
- Strawberry Cheesecake Nachos Box — sounds wild, tastes incredible, great for sharing
- 27 Christmas Side Dishes Recipes — if you're planning a holiday menu and need ideas beyond the main





Comments
No Comments