Caramel fudge sets up with a dense, creamy bite and a deep caramel flavor that lands somewhere between old-fashioned fudge and soft caramel candy. The texture is the part that makes people reach for a second square before they’ve finished the first one: smooth, glossy, and just firm enough to hold a clean edge when it’s cut cold. A pinch of flaky sea salt on top keeps it from tasting flat and gives each piece a little pop.
This version works because the sugar, corn syrup, cream, butter, and condensed milk are all cooked together to the soft-ball stage before anything is poured into the pan. That temperature is what gives the fudge its set without turning it grainy or sticky. If you stop too soon, it stays loose; if you push it too far, it turns dry and hard. The candy thermometer matters here, and so does constant stirring at the beginning so nothing scorches on the bottom of the pan.
Below you’ll find the exact temperature to watch for, the ingredient that keeps the texture smooth, and a couple of smart swaps if you want to change the finish without losing that caramel candy flavor.
The caramel flavor came through beautifully and the fudge set up with those clean, sharp edges after chilling. I used the flaky sea salt on top and it made each square taste like a little piece of candy shop fudge.
Save this caramel fudge for the days when you want a glossy, sea-salt-topped candy with a clean slice and a smooth, creamy bite.
The Temperature That Decides Whether This Fudge Sets or Stays Soft
Caramel fudge lives or dies by the soft-ball stage. That 238-240F range is where the mixture has cooked enough water off to set into a sliceable candy, but not so much that it turns hard and brittle. If the temperature is even a few degrees low, the fudge can stay sticky and loose in the center. If it runs hot, the texture tightens up and the caramel taste gets sharper and less creamy.
The other place people get into trouble is impatience at the beginning. The first stage needs steady stirring so the sugar doesn’t catch on the bottom and give you a scorched edge or a grainy finish. Once it reaches a full boil and the bubbles look thick and active, the thermometer is doing the heavy lifting. Stir enough to keep it smooth, not so aggressively that you splash crystals up the sides of the pan.
What the Condensed Milk and Corn Syrup Are Actually Doing Here

- Sweetened condensed milk — This gives the fudge its creamy body and keeps it from tasting like hard caramel candy. Regular milk won’t work the same way because condensed milk brings both milk solids and sweetness in a concentrated form.
- Light corn syrup — This is the ingredient that helps block crystallization, which is why the fudge stays smooth instead of turning sandy. There isn’t a perfect one-to-one substitute if you want the same texture, but golden syrup can work in a pinch with a slightly deeper flavor.
- Heavy cream — Cream adds richness and softens the final texture. Half-and-half can work if that’s what you have, but the fudge will taste a little lighter and may set a touch firmer.
- Unsalted butter — Butter gives the fudge its silky finish and rounds out the caramel notes. Use unsalted here so you can control the salt, especially once the flaky salt goes on top.
- Flaky sea salt — This isn’t just decoration. The crunch and sharpness cut through the sweetness and make the caramel flavor taste deeper.
Cooking the Fudge Until It’s Glossy, Thick, and Ready to Pour
Building the Base Without Scorching It
Start in a heavy-bottomed saucepan and line your pan before you turn on the stove. Combine the sugar, butter, heavy cream, corn syrup, and condensed milk, then stir constantly over medium heat until everything melts together and the mixture comes to a boil. The pan should be thickly bubbling, not sputtering in patches. If you see browned streaks on the bottom early on, the heat is too high and the sugar is starting to catch.
Cooking to Soft-Ball Stage
Once the mixture boils, keep stirring frequently and watch the thermometer closely. You’re looking for 238-240F, and it usually takes about 10-15 minutes total depending on your pan and burner. The mixture will thicken, look glossier, and fall from the spoon in slower sheets as it gets close. Pull it too early and it won’t set; leave it too long and it will seize into a firmer candy than fudge.
Finishing and Setting the Pan
Take the pan off the heat before you add the vanilla and salt so the flavor stays bright and the mixture doesn’t boil over from the sudden stir. Pour it into the parchment-lined pan right away and smooth the top while it’s still fluid. Sprinkle on the flaky salt while the surface is warm so it sticks. Let it cool at room temperature first, then chill it until fully set; cutting it warm gives you messy edges and sticky squares.
Ways to Adjust the Texture, Salt Level, or Dairy
For a stronger caramel finish
Cook right to the top of the temperature range, but don’t go past 240F. That gives you a firmer set and a deeper caramel note without drifting into hard candy territory.
Dairy-free adaptation
This recipe leans heavily on dairy for both flavor and texture, so a true dairy-free swap changes it more than most people expect. Plant-based butter and coconut cream can get you close in richness, but the final fudge will taste more coconut-forward and may set a little softer.
Reducing the salt on top
If you want a sweeter candy-style finish, skip the flaky sea salt or use just a light dusting. The fudge will still taste balanced because the pinch of salt inside the pan is doing the real work.
Storage and Reheating
- Refrigerator: Store in an airtight container for up to 2 weeks. The texture stays firm and clean-cut, but it can lose a little shine after a few days.
- Freezer: It freezes well. Wrap the slab or individual squares tightly in parchment and then airtight wrap; thaw in the refrigerator so condensation doesn’t make the surface tacky.
- Reheating: This fudge isn’t meant to be reheated. If it’s too firm straight from the fridge, let it sit at room temperature for 10-15 minutes before serving so the texture softens slightly.
