Cajeta (kah-HEH-tah) is Mexico’s goat’s milk caramel: fresh goat’s milk boiled with sugar and a pinch of baking soda until two thirds of it has steamed away and what is left pours like a thick, glossy, faintly tangy sauce. Around Celaya, in Guanajuato, it is protected as the geographical indication Cajeta de Celaya, finished at 65 to 69 °Brix, about a third of the starting volume. You only need milk, sugar, baking soda and a wooden spoon to get there, plus 150 minutes.
How do you make cajeta at home
How do you make cajeta from scratch? Bring 2 liters (8½ cups) of goat’s milk to a boil with 400 g (2 cups) of sugar, salt and cinnamon, stir in ½ teaspoon of baking soda off the heat, then simmer uncovered, stirring, until it reduces to a third and turns caramel brown. It is done when a drop on a cold plate holds like thick sauce. Ready in 150 minutes for 24 servings.
The method is simple and the ingredients are few. What decides success is the last 45 minutes, when the pot has lost most of its water and the bottom can catch in seconds. Up to then, the pot mostly looks after itself.
What you get. About 750 ml (3 cups), close to 950 g (2 lb), or 24 servings of 2 tablespoons: 3 cups from 2 quarts of milk.
Who should make it. Anyone who likes goat cheese or tangy dairy, or who uses a lot of caramel sauce. If goat flavor puts you off, the half-and-half version further down is still cajeta.
Difficulty. Medium. No tricky technique, only patience: turning up the heat to finish faster is the surest way to burn it.
Cajeta vs dulce de leche, and what goat’s milk changes
The honest difference is the milk. Cajeta is goat’s milk; dulce de leche is cow’s milk. Cajeta is usually runnier and has a tangy, slightly animal edge; dulce de leche tastes rounder and milkier. The Colombian version on this site, arequipe, a cow’s milk dulce de leche, uses 1 liter of milk, 300 g of sugar and ½ teaspoon of baking soda per liter and cooks for 125 minutes to 225 °F (107 °C), where it spreads. Cajeta uses 200 g of sugar per liter, a quarter teaspoon of baking soda per liter, and stops at a pourable stage.
Per 100 g, goat’s milk has 4.14 g of fat and 3.56 g of protein against 3.25 g and 3.15 g for whole cow’s milk. The extra fat is where the gloss and the goaty tang come from.
The Cajeta de Celaya rules allow up to 50 % cow’s milk in November and December, when goats give less milk, but not in the Premium grades, which are goat’s milk only. At home, that makes half and half a legitimate cajeta with a gentler flavor. All cow’s milk gives you dulce de leche, and it may curdle slightly near the end, which an immersion blender fixes.
Ingredients, where to buy goat’s milk and what to swap
Goat’s milk, 2 liters (8½ cups). In the US, Meyenberg whole goat’s milk comes in 32 fl oz (946 ml) cartons at large supermarkets such as Kroger or ShopRite. In the UK, most large supermarkets sell goat’s milk.
Sugar, 400 g (2 cups). That is 200 g per liter, the 80 % milk and 20 % sugar ratio of Premium A cajeta from Celaya, and the one that has worked best for me. Light brown sugar or Mexican piloncillo gives a darker cajeta with a molasses note.
Baking soda, ½ teaspoon (2.3 g). It does two jobs. It neutralizes the acidity that builds as milk concentrates, which would otherwise make the proteins precipitate (the milk curdles), and it holds the pH between 6 and 7, where Maillard browning, the reaction that gives color and flavor, moves fastest. Too much makes the result very dark and rubbery and leaves a soapy aftertaste.
Corn syrup, optional. Swap 100 g of the sugar for 100 g (about ⅓ cup) of light corn syrup or glucose syrup if you want a cajeta that stays smooth for weeks. Glucose limits crystal formation, which is why the Premium B grade of Celaya cajeta is 10 % sugar and 10 % glucose.
Equipment. A wide, heavy-based pot of about 6 liters (6 quarts), because the milk foams up, and a flat wooden spoon. Celaya cooks use copper pans and pine paddles; enameled cast iron or heavy stainless steel does the same job. A thermometer is optional.
Step by step, with the timing
150 minutes on the clock: 10 to prep, about 15 to reach a boil, just over an hour of brisk simmering with a stir every so often, and 45 minutes of constant stirring at the end.
Adding the baking soda
Dissolve it in a tablespoon of water and add it off the heat after the first boil. The milk foams up within seconds. On a live burner it climbs over the rim; off the heat it settles in a couple of minutes.
Knowing when cajeta is done
Celaya’s cajeteros read the finish from the thread, or hebra, that runs off the pine paddle; a refractometer gives the Brix range from the intro. At home, use two checks together. The cold plate: a teaspoon on a chilled plate should set to the consistency of caramel sauce within a minute. The pot bottom: a spoon drawn across the pot should show the bottom for an instant before the cajeta closes over it.
I don’t give a fixed thermometer reading for cajeta. On this site’s arequipe the scale is 219 °F (104 °C) for a pouring sauce, 225 °F (107 °C) for a spread and 234 °F (112 °C) for a dulce that sets hard. Cajeta belongs on the sauce side, so I go by the cold plate and treat the thermometer as a warning that I am getting close.
Who this recipe is for
- First time with goat’s milk → make it half and half; the tang is softer.
- No time to stand at the stove → the slow-cooker route, uncovered on high: about 16 hours to light amber, then several more hours stirring every 20 to 30 minutes.
- Need it in under an hour → a 14 oz (397 g) can of sweetened condensed milk, goat’s if you can find it, lid removed and wrapped in foil, 40 minutes in a pressure cooker with water halfway up the can. It is a close relative, not milk cooked down.
- Cooking for a crowd → two 2-liter pots side by side beat one 4-liter batch. Cajeta cooks by evaporation, so the surface of the pot matters more than its size.
Why cajeta turns grainy, and other things that go wrong
Grainy cajeta has crystals of lactose and sugar in it. As water boils off, both sugars become saturated, and lactose gets even less soluble once the cajeta cools, so crystals grow in the fridge over the weeks. The tongue starts to notice them at 10 to 16 µm. Three habits keep them away: do not scrape the dried crust off the pot walls into the jar, swap 100 g of sugar for corn syrup, and do not cook past the point.
Allergens. Milk, and nothing else from the usual list: no gluten, egg or nuts unless you stir in pecans. Spice level: zero. Kids: most like it, though some notice the goat flavor; the half-and-half version helps. The spiked version below is for adults.
Cajeta quemada, cajeta envinada and other versions
- Cajeta quemada → the same recipe cooked 15 to 20 more minutes on low, stirring, until dark brown. More bitter, thicker. Do not add extra baking soda to darken it.
- Cajeta envinada → stir 2 tablespoons (30 ml) of sweet sherry or rum into each cup (240 ml) of finished cajeta off the heat. That is my own ratio. Added off the heat, most of the alcohol stays: about 85 % of alcohol stirred into a hot liquid after it leaves the heat.
- Smoother for longer → 300 g (1½ cups) sugar plus 100 g (⅓ cup) corn syrup.
- Darker and earthier → piloncillo or dark brown sugar instead of white.
What cajeta costs in the US
Goat’s milk is nearly the whole bill. At $6.99 a quart for Meyenberg, the most common price at ShopRite, Brookshire’s and Kroger in October 2026 ($6.99 to $7.79 depending on the store), and sugar at $1.024 a pound (US average, August 2026), a 2-liter batch costs about $15.68, or 65 cents a serving. Swap half the goat’s milk for whole cow’s milk at $4.229 a gallon (US average, August 2026) and it drops to $9.41, 39 cents a serving. All cow’s milk costs $3.14, but then you have dulce de leche. Baking soda, salt, cinnamon and vanilla are left out of the sums. UK goat’s milk prices vary too much for me to give a figure in pounds.
Storing, freezing and serving cajeta
Fridge. Homemade cajeta is often said to keep a month or more, even 2 months. I keep it up to three weeks, the same as my arequipe, in a clean, closed glass jar at 40 °F (4 °C) or below, and always use a clean spoon. Sugar does not make it mold-proof: molds can grow in dulce de leche at water activities of 0.74 to 0.85. If you see mold or it smells sour, throw out the whole jar. Like any milk-based dish, it should not sit out for more than 2 hours.
Freezer. Baking Sense freezes it for several months in a plastic tub with wrap pressed onto the surface. With that much sugar it never freezes rock hard.
Rewarming. Over a water bath, or in the microwave in 10-second bursts, stirring between them. A spoonful of hot water loosens a jar that has thickened in the fridge.
How to use it. Warm, over crêpes, ice cream or fruit; as a dip for homemade churros; spread inside split gorditas de nata; poured over flan napolitano instead of the caramel; or between the thin wafers of Colombian obleas. With a mug of café de olla it makes an afternoon snack. For a firmer, rice-set cousin, try Colombian manjar blanco.
Cajeta FAQ
What is cajeta made of? Goat’s milk, sugar and baking soda, reduced to about a third. The Celaya rules allow up to 50 % cow’s milk in the typical grade, and glucose in the Premium B, typical and commercial grades.
Can you make cajeta with cow’s milk? You can, but the result is dulce de leche, without the goat tang. Half goat and half cow keeps some of the flavor and still counts as typical cajeta under the Celaya rules.
Why do you add baking soda to cajeta? To neutralize acidity so the milk does not curdle during the long boil, and to speed up browning. Half a teaspoon for 2 liters (8½ cups) is enough; more turns it very dark and soapy.
Is cajeta the same as caramel? No. Caramel is sugar melted until it browns, usually finished with cream and butter. Cajeta is milk and sugar cooked down for over 2 hours, and its color comes from Maillard browning between milk proteins and sugars.
How do I fix grainy cajeta? Warm it gently with a spoonful of water, blend it with an immersion blender and strain. Next time swap 100 g of the sugar for corn syrup and leave the crust on the pot walls alone.
How long does homemade cajeta last? I keep it up to three weeks in the fridge at 40 °F (4 °C) or below. Some people keep it one to two months. Throw it out if you see mold.
What is cajeta quemada? The same cajeta taken further on low heat, until dark brown, more bitter and thicker; the versions section above has the timing. Cajeta envinada is finished with sherry or rum.
Nutrition per serving
Per 2-tablespoon serving, about 40 g (1.4 oz), out of 24, calculated ingredient by ingredient from this recipe’s quantities, using all goat’s milk and leaving out cinnamon and vanilla:
- Calories: 124 kcal
- Protein: 3 g
- Carbohydrates: 21 g
- Fat: 4 g, of which 2 g saturated
- Fiber: 0 g
- Sugars: 21 g
- Sodium: 94 mg
About 17 g of the sugar per serving is added sugar; the rest is lactose from the milk. Made half and half, each serving loses about 4 kcal and a little fat.
I grew up in Venezuela with cow’s milk dulce de leche and learned arequipe in Colombia, so cajeta came late to my kitchen, and the first batch tasted too goaty to me. I made the second one half and half and have been nudging the goat’s milk up ever since. One thing I never skip is the plate in the freezer before the last stretch. Josnaisis.