Cinnamon and Cream

Mexican Cajeta Pudding with Silky Goat Milk Caramel

21 min read

↓ Jump to Recipe

There is a moment, somewhere around the forty-fifth minute of stirring cajeta on the stove, when the kitchen fills with a smell so warm and caramel-sweet that you forget you were ever impatient. The goat milk slowly bronzes, thickens, and transforms into something the color of amber glass, with a depth of flavor that feels almost savory at its edges. Spooned over a trembling, ivory vanilla custard pudding and left to set in little glass jars, this dessert is the kind of thing you make once and then find yourself thinking about for weeks.

What sets this version apart is the cajeta itself. Instead of reaching for a store-bought substitute, we make it from scratch using fresh goat milk, piloncillo for a molasses-tinged complexity, and a cinnamon stick that slowly perfumes the entire pot. The pudding base is a classic stovetop custard thickened with egg yolks and cornstarch, which gives it a spoonable, velvety texture rather than the stiff, gelatinous quality of a boxed mix. A thin layer of cajeta is poured into each jar before the warm pudding goes in, so as it chills, the caramel settles beneath the custard like a hidden reward at the bottom of every spoonful.

This recipe sits comfortably in the medium difficulty range. The cajeta requires patience and attention, but there is no special equipment and no candy thermometer needed. It is a wonderful weekend baking project, beautiful for dinner parties served in individual glasses, and genuinely impressive for anyone who has never encountered this traditional Mexican sweet before. If you can stir a pot and watch a clock, you can make this.

Prep: 20 minutesTotal: 3 hours 30 minutes (includes 1 hour active cooking and 2 hours chilling)Yield: 6 individual pudding cups (approximately 180ml each)Difficulty: ★★☆ IntermediateOccasion: Special Occasion
✓ Vegetarian✓ Nut-Free✓ Soy-Free
Servings:

6

servings

Ingredients

  • Cajeta
  • 1000 mlfresh whole goat milk (about 4 cups), divided
  • 200 gpiloncillo, grated or finely chopped (about 1 cup packed), or dark brown sugar
  • 1 wholecinnamon stick
  • 0.25 tspbaking soda
  • 0.5 tsppure vanilla extract
  • Pudding
  • 500 mlwhole cow’s milk (about 2 cups)
  • 4 largeegg yolks, at room temperature
  • 80 ggranulated sugar (about 6 tablespoons)
  • 35 gcornstarch (about 4 tablespoons)
  • Pinch of fine sea salt
  • 30 gunsalted butter (about 2 tablespoons), cold, cubed
  • 1 tsppure vanilla extract
  • Folding Into Finished Pudding
  • 60 mlheavy cream (about 1/4 cup)
  • Garnish (optional)
  • 30 gtoasted pepitas or crushed Mexican wedding cookies

Ingredient Substitutions

fresh whole goat milk

  • Full-fat canned coconut milk (dairy-free): produces a slightly more tropical flavor with a similar richness. Use the same quantity.
  • Whole cow’s milk: the cajeta will be milder and less tangy, closer to traditional dulce de leche, but still delicious. Omit the baking soda or reduce to just a tiny pinch.
piloncillo

  • Dark brown sugar: use the same weight. The molasses notes will be slightly less pronounced but it works beautifully.
  • Coconut sugar: gives a slightly more earthy, butterscotch flavor. Use a 1:1 swap by weight.
egg yolks

  • 3 whole eggs: the pudding will be slightly lighter in color and a little less rich, but will still set properly.
  • 45g (about 3 tablespoons) of extra cornstarch plus 60ml additional whole milk for a fully egg-free version: the texture will be firmer and more starchy, so use only 25g cornstarch total instead.
heavy cream

  • Full-fat coconut cream: keeps the recipe dairy-free and adds a gentle coconut undertone.
  • Whole milk: the pudding will be slightly less silky but still very good.
unsalted butter

  • Vegan butter (such as Miyoko’s or Earth Balance): works well and produces a comparable richness and gloss in the finished pudding.

Instructions

🔧 Equipment

🥣3-quart or larger heavy-bottomed saucepan (wide base preferred)
🐢4-quart slow cooker (for slow cooker method)
📡large microwave-safe bowl, at least 2-quart capacity (for microwave method)
🥣medium saucepan
🥣medium heatproof mixing bowl
🔵fine-mesh sieve
🌀whisk
🍴silicone spatula
🧁pourable measuring jug
🧁6 individual serving glasses or jars (approximately 200ml capacity each)
🧁plastic wrap
🔪box grater or sharp knife (for piloncillo)



Prep: 20 minutes
Bake: 45 to 55 minutes for cajeta, plus 10 minutes for pudding
Total: 3 hours 30 minutes (includes chilling)
  1. Make the cajeta first: Combine the goat milk, piloncillo, and cinnamon stick in a wide, heavy-bottomed saucepan (at least 3-quart capacity, as the mixture will foam up). Heat over medium, stirring frequently, until the piloncillo dissolves completely. Remove from heat, whisk in the baking soda (it will foam vigorously for a moment, which is normal), then return to medium-low heat.
  2. Cook the cajeta uncovered, stirring every 3 to 4 minutes to prevent scorching on the bottom, for 45 to 55 minutes. The mixture will gradually deepen from pale ivory to a rich amber-brown. It is ready when it coats the back of a spoon thickly and a line drawn through it holds for a few seconds. Remove the cinnamon stick, stir in the vanilla, and let it cool for 10 minutes. Spoon about 2 tablespoons of warm cajeta into the bottom of each of 6 serving glasses or jars. Set aside.
  3. Make the pudding: Whisk together the egg yolks, granulated sugar, cornstarch, and salt in a medium heatproof bowl until pale and smooth, about 2 minutes. Warm the whole cow’s milk in a medium saucepan over medium heat until steaming and small bubbles appear around the edges (do not boil). Very slowly, pour about 120ml of the hot milk into the egg mixture in a thin stream, whisking constantly. This tempers the eggs and prevents scrambling. Then pour the egg mixture back into the saucepan with the remaining hot milk.
  4. Cook the pudding mixture over medium heat, whisking constantly, until it thickens and begins to bubble, about 5 to 8 minutes. Once you see the first large bubbles break the surface, continue whisking for exactly 2 more minutes to fully cook the cornstarch and eliminate any raw, chalky flavor. Remove from heat.
  5. Immediately whisk in the cold cubed butter and vanilla extract until the butter is fully melted and incorporated. Let the pudding cool for 5 minutes, then fold in the heavy cream gently with a spatula for added silkiness. Pour the warm pudding evenly over the cajeta layer in each glass. Press a piece of plastic wrap directly onto the surface of each pudding to prevent a skin from forming. Refrigerate for at least 2 hours, or until fully set and cold.
  6. To serve, remove the plastic wrap. Drizzle a little extra cajeta over the top of each pudding and garnish with toasted pepitas or crushed cookies if desired. The pudding can be served cold or allowed to sit at room temperature for 10 minutes for a softer, creamier texture.
Prep: 20 minutes
Bake: 4 to 5 hours on High for cajeta, plus 10 minutes stovetop for pudding
Total: 7 hours (largely hands-off, includes chilling)
This method makes the cajeta almost entirely hands-off, freeing you to prepare the pudding or do other things. The slow cooker cajeta is equally delicious but requires a longer cook time. The pudding portion is still made on the stovetop for the best texture.
  1. Make the slow cooker cajeta: Combine the goat milk, piloncillo, and cinnamon stick in a 4-quart or larger slow cooker. Stir well. Mix the baking soda with 1 teaspoon of water and stir it into the milk mixture. Cook on High with the lid propped open slightly (using a wooden spoon laid across the rim) to allow moisture to escape. Stir thoroughly every 30 to 40 minutes.
  2. After 4 to 5 hours, the cajeta should be deep amber, thick, and reduced to roughly one-third of its original volume. If it is still quite liquid at 4 hours, increase heat and continue checking every 20 minutes. Remove the cinnamon stick, stir in vanilla, and allow to cool for 15 minutes. The cajeta will thicken further as it cools. Spoon about 2 tablespoons into each of 6 serving glasses.
  3. Make the pudding on the stovetop: Whisk together the egg yolks, granulated sugar, cornstarch, and salt in a medium heatproof bowl until pale and smooth. Warm the whole cow’s milk in a saucepan over medium heat until steaming. Slowly pour about 120ml of hot milk into the egg mixture, whisking constantly to temper. Pour the egg mixture back into the saucepan.
  4. Cook over medium heat, whisking constantly, until the mixture thickens and bubbles, about 5 to 8 minutes. Whisk for 2 more minutes after the first bubble appears. Remove from heat and whisk in the cold butter and vanilla until smooth. Cool for 5 minutes, then fold in the heavy cream.
  5. Pour the warm pudding over the cajeta in each glass. Press plastic wrap onto the pudding surface to prevent a skin forming. Refrigerate for at least 2 hours until set. Garnish with extra cajeta and pepitas before serving.
Prep: 20 minutes
Bake: 8 to 12 minutes total (microwave pudding), plus 45 to 55 minutes stovetop for cajeta
Total: 3 hours 15 minutes (includes chilling)
The cajeta must still be made on the stovetop for the right color and flavor. However, the custard pudding can be made entirely in the microwave, which reduces hands-on stirring time and uses fewer dishes. Best for those confident with microwave cooking.
  1. Make the cajeta on the stovetop following Steps 1 and 2 of the classic stovetop method. Spoon 2 tablespoons into each of 6 serving glasses and set aside.
  2. Make the microwave pudding: In a large microwave-safe bowl (at least 2-quart capacity), whisk together the egg yolks, granulated sugar, cornstarch, and salt until smooth. Gradually whisk in all 500ml of cold whole cow’s milk until fully combined.
  3. Microwave on High in 2-minute intervals, whisking vigorously for at least 30 seconds after each interval. After the second or third interval, the mixture will begin to thicken noticeably around the edges. Continue microwaving in 1-minute intervals, whisking thoroughly between each, until the pudding is thick, smooth, and glossy, with no lumpy patches, about 8 to 12 minutes total depending on your microwave wattage. It should mound slightly when dropped from the whisk.
  4. Whisk in the cold cubed butter and vanilla until fully melted and the pudding is silky. Let cool for 5 minutes, then fold in the heavy cream. Pour evenly over the cajeta in each glass. Press plastic wrap directly onto the surface of each pudding and refrigerate for at least 2 hours.
  5. Serve cold, topped with a drizzle of the remaining cajeta and optional garnishes.

Nutrition Per Serving

Per 1 serving (makes 6 individual pudding cups (approximately 180ml each))

385Calories
52gCarbs
44gSugar
16gFat
9gProtein

Why This Recipe Works

The magic of cajeta begins with a single ingredient: baking soda. Adding a small amount of baking soda to the goat milk before cooking raises its pH slightly, which accelerates the Maillard reaction and caramelization as the mixture reduces over heat. This is what gives cajeta its deeply bronzed color and complex, almost butterscotch-like flavor in a reasonable amount of time. Without it, the process would take significantly longer. The wide, heavy-bottomed pan also matters here: more surface area means faster evaporation, and heavy walls prevent hot spots that could scorch the bottom before the top has properly reduced. Goat milk specifically contributes a subtle tanginess and a slightly lower pH than cow’s milk, which actually makes it caramelize even more readily and gives cajeta its characteristic flavor that sets it apart from standard dulce de leche.

For the pudding, the combination of egg yolks and cornstarch creates what pastry chefs call a crème pâtissière or pastry cream. The egg yolks provide fat, emulsifying lecithin, and proteins that set into a lush, creamy body, while the cornstarch provides strong, reliable thickening that holds the pudding firm even after chilling. The critical step is tempering: pouring hot milk slowly into the egg mixture rather than the other way around raises the egg temperature gradually, preventing the proteins from seizing and scrambling. Cooking the cornstarch-thickened pudding for a full two minutes after the first bubble is also essential. Cornstarch contains an enzyme called alpha-amylase that can break down the starch structure and cause the pudding to thin out as it cools. Two minutes of heat above 200°F (93°C) deactivates this enzyme and guarantees a stable set.

Adding cold butter at the very end is a technique borrowed from classic French sauces called mounting with butter. As the cold butter melts into the hot pudding, it emulsifies into tiny fat droplets that coat the proteins and give the finished custard a glossy, almost spoonable richness. Folding in the cold heavy cream at the end adds one final layer of fat that lightens the texture slightly and gives it that characteristic silky finish. If your pudding turns out lumpy, do not panic: strain it through a fine-mesh sieve while it is still warm and it will emerge perfectly smooth.

Baker’s Tips

  • Use a wide, heavy-bottomed saucepan for the cajeta, at least 10 inches in diameter if possible. More surface area speeds evaporation and gives you more control over browning.
  • Grate or very finely chop the piloncillo before adding it to the milk. Large chunks take much longer to dissolve and can cause uneven caramelization.
  • Watch the cajeta closely in the final 10 to 15 minutes. Color deepens quickly at that stage and the difference between perfectly amber and over-darkened is just a few minutes. Err on the side of pulling it slightly early as it continues to cook briefly off the heat.
  • For the smoothest possible pudding, strain it through a fine-mesh sieve directly into a pourable measuring jug before filling the glasses. This catches any small egg bits and gives you a perfectly silky result.
  • Do not skip pressing plastic wrap directly onto the pudding surface. Even 5 minutes of air exposure creates a rubbery skin that no amount of garnish will hide.
  • If your cajeta has thickened too much in the fridge to pour, stir in a tablespoon of warm water or goat milk and heat it gently until it loosens to a pourable consistency.
  • Bring your egg yolks to room temperature before starting the pudding. Cold yolks are harder to whisk smooth and can cause slight lumping when the hot milk is added.

Variations

  • Chocolate cajeta pudding: Whisk 25g (about 3 tablespoons) of high-quality cocoa powder into the egg yolk mixture along with the cornstarch, and stir 60g finely chopped dark chocolate into the finished pudding along with the butter.
  • Spiked cajeta: Stir 2 tablespoons of dark rum or aged tequila into the finished cajeta off the heat. The alcohol softens the sweetness and adds a sophisticated depth perfect for an adult dinner party.
  • Coconut cajeta pudding (dairy-free): Use two 400ml cans of full-fat coconut milk in place of the goat milk for cajeta, and a third can plus enough coconut cream to make 500ml for the pudding. Use vegan butter and coconut cream in place of the heavy cream.
  • Individual cajeta trifles: Layer crushed cinnamon graham crackers or Maria cookies between the cajeta and pudding layers in the glasses for a texture contrast that turns this into a no-fuss trifle.

Troubleshooting & FAQ

My cajeta is still very liquid after 55 minutes. What went wrong?
This usually means the heat was too low or the pan was too narrow, slowing evaporation significantly. Increase the heat to medium and continue cooking, stirring more frequently to prevent scorching. A splatter screen can help contain bubbling without trapping steam. The cajeta is done when it heavily coats the back of a spoon and a line drawn through it stays clean for several seconds. Remember it will thicken considerably more as it cools, so do not over-reduce it trying to get it thick while still hot.
My cajeta turned grainy or crystallized. Can I fix it?
Crystallization happens when sugar molecules link up, often triggered by undissolved piloncillo granules or stirring too vigorously at the wrong moment. To rescue it, add 2 tablespoons of warm water and heat gently over low heat, stirring slowly until the crystals dissolve. Next time, make sure all the piloncillo is fully dissolved before applying high heat, and avoid scraping the sides of the pan into the bubbling mixture, as crystallized sugar on the pan walls can seed the whole batch.
My pudding is lumpy. Did I ruin it?
Not at all. Lumps in stovetop custard are almost always caused by adding hot milk to the eggs too quickly, or by brief moments of uneven heat. While the pudding is still warm and pourable, push it through a fine-mesh sieve with a spatula. The result will be completely smooth. If it is already cold and set, the texture is harder to rescue, so straining while warm is the key.
The pudding set but it is watery or weeping liquid around the edges. What happened?
This is called syneresis and it means the custard was slightly overcooked, causing the egg proteins to over-tighten and squeeze out liquid. It can also happen if the pudding was frozen. The pudding is still safe to eat and will taste fine, but the texture is compromised. To prevent it next time, pull the pudding off the heat as soon as it bubbles and thickens (after that 2-minute mark), and never freeze the assembled cups.
My cajeta tastes burnt and bitter. Can I still use it?
Unfortunately, once cajeta has gone past amber into dark brown with a bitter smell, the burnt compounds cannot be removed. It is best to start over. To prevent this: use medium-low heat in the final stages, never walk away without setting a timer, and taste a small drop on a cold plate after 40 minutes so you can track how the flavor is developing. Cajeta should smell like warm caramel and butterscotch, never sharp or acrid.

Storage & Make-Ahead

  • Storage: Store covered pudding cups in the refrigerator for up to 4 days. Press plastic wrap against the surface to prevent a skin. The cajeta can be stored separately in a sealed jar in the refrigerator for up to 3 weeks. Do not freeze the assembled pudding, as the custard will become grainy and weep upon thawing.
  • Make-Ahead: The cajeta can be made up to 2 weeks ahead and refrigerated in a jar. Gently rewarm it on the stovetop or in the microwave before using, as it thickens considerably when cold. The pudding cups can be assembled and refrigerated up to 2 days before serving. Add garnishes just before serving.


Leave a Comment