In a small saucepan, bring water to a boil. Whisk in cocoa until mostly smooth with some lumps. Reduce heat to medium and whisk in milk until cocoa powder is dissolved.: The first sensory cue is the water bubbling with a crisp, high sound and a faint steam rising, which tells you it is ready. This is followed by whisking in the unsweetened cocoa powder , which you will notice turning grainy at first, then smoothing into a dark paste. The reason for boiling the water briefly is that hot water helps bloom the cocoa, releasing fats and aromatics quickly, which deepens the chocolate flavor. A common mistake is to let the water sit too long and evaporate, concentrating it, so watch the pan and reduce heat as soon as you see rolling bubbles. If lumps persist, whisk energetically to break them up; the goal is a mostly smooth base before adding milk .
Bring to a simmer and whisk in chocolate, sugar, and salt. Reduce heat to low and whisk until chocolate is smooth and incorporated. Taste and add more sugar if desired (I like 2 additional tablespoons for 1/4 cup total).: As you whisk, you will feel the texture change under the whisk from gritty to more cohesive, and the aroma grows richer and more chocolate forward. Those few small lumps are okay because the next step dissolves them, but you want to avoid large clumps that will not dissolve. The "why" behind this is that whisking now evenly distributes cocoa solids so they integrate seamlessly later. A frequent error is rushing this step, which leaves gritty pockets; take a minute to ensure even distribution.
Remove from heat and stir in vanilla. Serve with whipped cream and marshmallows if desired.: When you add the milk , listen for a gentle change in sound as the liquid softens, and watch the color lighten slightly while becoming creamier. Keep the heat at medium to avoid scalding the milk . The milk temp should warm steadily, you may see thin steam but not vigorous bubbling. The purpose of this careful gentle heating is to allow the cocoa to fully hydrate and distribute through the milk without splitting or scorching. Avoid turning the heat up to hurry the process, which risks a burned flavor and a skin forming on top.
Bring to a simmer and whisk in chocolate, sugar, and salt: As the mixture approaches a simmer, it will take on a richer sheen and the whisking will create slight ripples on the surface. Add the chopped bittersweet chocolate , sugar , and salt now; you will see the chocolate melt into glossy ribbons and the mixture will thicken slightly. The reason for adding the chocolate at simmer is that the higher temperature melts it quickly to give an even, velvety texture. A frequent misstep is adding cold chocolate pieces all at once in a very large size, which slows melting and leaves streaks; chopping small ensures quick integration and a uniformly smooth body.
Reduce heat to low and whisk until chocolate is smooth and incorporated: On low heat the drink takes on a silky, consistent texture as the chocolate finishes melting, and the aroma will become rounder and deeper. You should whisk constantly for a short time so the chocolate fully incorporates and the mixture does not cling and burn on the saucepan bottom. This technique matters because residual heat can continue to thicken the mixture slightly while preserving creaminess. A common error is walking away, which can cause scorching and bitter notes, so stay close and keep whisking until there are no streaks of chocolate.
Taste and add more sugar if desired (I like 2 additional tablespoons for 1/4 cup total): Once the mixture is smooth, taste for balance; you will notice the marriage of cocoa depth, chocolate richness, and the brightening pinch of salt . If the drink needs sweetness, add sugar in small increments and whisk, tasting after each addition. This step is about personal preference, since different chocolates have varying bitterness. Over-sugaring at once can flatten the complexity, so add cautiously and let each adjustment meld before evaluating.
Remove from heat and stir in vanilla: After taking the saucepan off the heat, stir in the vanilla extract to preserve its fresh aroma, which elevates the chocolate without overpowering it. The sensory change is subtle and fragrant, lifting the warmth of the drink. Adding vanilla off heat prevents its delicate notes from evaporating. A mistake is heating vanilla too long, which can dull its fragrance and reduce its brightening effect.
Serve with whipped cream and marshmallows if desired: Pour the hot chocolate into warmed cups and top with a cloud of whipped cream and a few marshmallows if you like. The contrast between the hot liquid and the cool, airy cream is delightful, and the marshmallows soften into sweet, pillowy islands. This finishing flourish brings textural variety and makes each sip more fun. Beware of filling cups to the brim before adding toppers, as the toppings can cause overflow when they melt.