Coffee Gelato
A dense, espresso-forward coffee gelato for the Ninja CREAMi or Swirl, built on a cooked custard base with more milk than cream and spun on the Gelato program.

Coffee is the flavor that rewards density. Espresso is bitter, aromatic, and faintly astringent, and in a light, airy scoop those notes thin out into something closer to an iced latte than a dessert. Gelato pulls the other way: more milk than cream, egg yolks for body, and no air folded in, so every spoonful carries the whole weight of the coffee. Unlike a whisk-together base, this one spends ten minutes at the stove, and the yolks earn that time back, turning plain milk into something silky enough to hold espresso without tasting thin.
Texture here comes from fat, yolks, and the absence of air. The machine never churns: it freezes the base solid, then drives a blade down through the block and shaves it into shards fine enough to read as smooth, which means nothing gets whipped in and the density you build into the base is the density you get. That suits gelato exactly. Whole milk keeps the base from turning as heavy as an all-cream mixture, the yolks emulsify the fat that is there, and the sugar lowers the freezing point so the block never sets bone-hard. Freeze the pint dead flat for a full 24 hours, run the Gelato program that is meant for denser, custard-style bases, and re-spin with a tablespoon of milk if the first pass comes out crumbly.
Serve it a little softer than you would serve ice cream: straight from the spin it is silky and almost spoonable, or smooth the top and refreeze for fifteen to twenty minutes for cleaner scoops. Pour a hot shot of espresso over a scoop for an affogato, or use the Mix-In program to fold chopped dark chocolate or chocolate-covered espresso beans through whole. A tablespoon of cocoa whisked into the base pushes it toward mocha, a strip of orange zest steeped in the warm milk and lifted out gives it an edge, and decaf instant espresso turns the same pint into an after-dinner one.
Ingredients
- 1 1/4 cups whole milk
- 1/4 cup heavy cream
- 5 tablespoons granulated sugar
- 1 1/2 tablespoons instant espresso powder
- 2 large egg yolks, lightly beaten
- 1 teaspoon vanilla extract
- Pinch of fine salt
Method
- In a small saucepan over medium-low heat, whisk together the whole milk, heavy cream, sugar, espresso powder, and salt until the sugar and coffee have dissolved completely and the mixture steams without simmering. Whisk about half of the hot milk into the beaten egg yolks in a thin, steady stream, return everything to the pan, and cook, stirring constantly with a spatula, until the custard thickens just enough to coat the back of the spatula and hold the line when you draw a finger through it. Do not let it boil, or the yolks will scramble.
- Pour the custard through a fine-mesh sieve into a clean bowl to catch any set egg, then stir in the vanilla. Cool it completely before it goes near the freezer: set the bowl in an ice-water bath and stir for about 20 minutes, or cover and refrigerate until it is cold all the way through.
- Pour the cold custard into a Ninja CREAMi or Swirl pint container, staying below the max-fill line, cap it, and freeze on a level shelf for at least 24 hours until the base is frozen solid and flat.
- Remove the lid, place the pint in the outer bowl, and run the Gelato program, the setting meant for denser, custard-style bases like this one.
- If the gelato looks crumbly or powdery, add 1 tablespoon of whole milk and run the Re-spin program until it turns smooth and dense.
- Serve right away for a soft, silky scoop, or smooth the top and refreeze for 15 to 20 minutes for firmer scoops.
Notes & tips
Why the Gelato program suits this base. Match the program to the base, not to the flavor: Gelato is the setting built for denser, custard-style mixtures, and this one qualifies the moment the yolks go in. It helps to know what the machine actually does — it freezes your base solid, then shaves the block with a spinning blade rather than churning air into a chilled liquid, so nothing is whipped in and the density you build into the base is the density you get out. That is exactly the trait gelato wants. If you are unsure, start on the lighter setting, since a re-spin is always available. The CREAMi and Swirl guide walks through program choice, the freeze, and the re-spin in more detail.
More milk than cream is the point. It is tempting to read “dense” as “richer” and pour in more cream, but that is what makes a scoop taste like ice cream. The 1 1/4 cups of whole milk to 1/4 cup of heavy cream keeps the base milky and clean so the espresso stays the loudest thing in the pint, while the two yolks emulsify the fat that is there and give it a coating, silky body. Because the fat and yolks are doing the work, you do not need the instant pudding or xanthan gum that a lean protein base depends on.
Cook it gently, then strain it anyway. The custard is finished when it thickens just enough to coat the back of a spatula and hold a clear line when you draw a finger through it — that is the cue to watch, not a clock. Keep the heat at medium-low and keep stirring; boiling scrambles the yolks into grains that survive the freeze and read as grit in the finished gelato. Pour it through a fine-mesh sieve even when it looks perfect, since a few set threads always collect at the pan edges.
Cool it completely before it goes in the freezer. A warm base takes far longer to set and the CREAMi needs a block that froze solid and even, so give it an ice-water bath and stir for about 20 minutes, or refrigerate until it is cold all the way to the middle. Keep the pint below its max-fill line and freeze it dead flat on a level shelf for the full 24 hours: a tilted pint freezes with a sloped surface the blade cannot read cleanly.
Troubleshooting the texture. Crumbly or powdery after the first spin means the block was too lean or too cold to whip, and a tablespoon of milk plus the Re-spin program fixes it. Icy or coarse points at too little sugar, or a base that did not freeze flat for the full 24 hours. Too soft or soupy is the failure mode this base hits most often, because fat softens fast — that comes from too much liquid on the re-spin or a pint that sat out, and smoothing the top and refreezing 15 to 20 minutes recovers it.
Mix-ins and variations. Use the Mix-In program after the first spin so pieces fold through whole instead of pulverizing: poke a hole to the bottom of the pint, add chopped dark chocolate, chocolate-covered espresso beans, or crumbled amaretti, and run it. For flavor, a tablespoon of cocoa whisked into the base makes a mocha version, a strip of orange zest or a crushed cardamom pod steeped in the warm milk and strained out adds an aromatic edge, and 1 tablespoon of espresso powder instead of 1 1/2 gives a gentler, latte-leaning pint.
Serving and storage. Gelato is best a touch softer than ice cream, so serve it straight from the spin, or smooth the top and refreeze 15 to 20 minutes for cleaner scoops. Keep leftovers in the same capped pint, level in the freezer, and let it stand about 5 minutes before running a fresh Re-spin — refrozen pints almost always need one. Use it within roughly two weeks for the best texture. If the custard is not going into the freezer right away, keep it covered in the refrigerator rather than on the counter.
Eggs, caffeine, and allergens. This base contains egg, cooked into the custard rather than left raw, which is the main way it differs from the no-cook bases elsewhere on this site: move it from the stove to the ice bath to the refrigerator without long pauses at room temperature. It also contains milk and cream, and it is genuinely caffeinated, so it is a poor choice as a bedtime dessert for children. Check labels on the espresso powder and on any chocolate mix-in if you are serving guests with allergies.
Coffee Gelato FAQ
Why run the Gelato program instead of Ice Cream?
Because the program is matched to the base, not to the flavor. Gelato is the setting for denser, custard-style mixtures, while Ice Cream and Lite Ice Cream suit lighter dairy and protein bases. This base is a cooked custard carrying egg yolks and 1/4 cup of cream, so it spins tighter and smoother on Gelato. The Ice Cream program will still produce a scoop, but it works the block harder than a fat-rich base needs and pushes it toward soupy.
Can I use brewed coffee instead of instant espresso powder?
Yes, but swap it against the milk rather than adding it. Replace 1/4 cup of the whole milk with 1/4 cup of very strong brewed espresso, cooled completely, and keep the sugar and yolks as written. Do not simply pour coffee into the finished base: the extra liquid dilutes the fat and sugar that make this pint dense, and warm coffee stirred into cold custard starts the freeze at the wrong temperature. Instant espresso powder is the easier route because it dissolves into the hot base and adds no water at all.
Do I have to use egg yolks?
No, though the pint gets less silky without them. For an eggless version, whisk 2 teaspoons of cornstarch into the cold milk before it goes on the heat, then cook the base until it thickens and coats the spatula; this is how many Italian gelato bases are thickened. Skip the tempering step entirely, and still strain and chill before freezing.
Why did my coffee gelato come out soupy instead of dense?
Too much liquid on the re-spin, or a pint that warmed up. A fat-rich custard base softens faster than the lean protein and sorbet bases here, so add liquid a single tablespoon at a time and stop the moment the surface looks smooth. If it has gone loose, smooth the top and refreeze for 15 to 20 minutes; it firms back into scoops without another spin.
Is this gelato caffeinated, and can I make it decaf?
It is genuinely caffeinated: 1 1/2 tablespoons of instant espresso powder goes into one pint, and none of the caffeine cooks off. Decaf instant espresso powder swaps in one-for-one with no change to the method or the texture, and dropping to 1 tablespoon gives a milder, more milk-forward pint either way.

