We won’t sugarcoat it. This old-fashioned fudge recipe will test your willpower. First, it has no modern tricks to hide behind—no sweetened condensed milk or marshmallow fluff to make easy work of it. Second, you’ll have to beat it with a wooden spoon for about 6 minutes; not long in the grand scheme, but eons when beating things with a wooden spoon (we suggest making a holiday game of it). And finally, once the fudge is set and sliced, you’ll have to stop yourself from nicking a piece of the chewy, unbeatably creamy confection every time you walk by the tray. Or not: After all, you did all that beating).
To really make it worth your while, you should consider this chocolate fudge recipe a canvas for personal expression. Sprinkle it with flaky sea salt or toasted salted peanuts, pistachios, walnuts, or pecans for a salty-sweet balance and satisfying crunch. For a sweeter riff, add toffee bits, chopped white or dark chocolate, milk chocolate chips, fancy sprinkles, dried cranberries, or shredded coconut. Give your fudge recipe rocky road vibes by substituting almond extract for a quarter of the vanilla, and then top it with mini marshmallows and chopped almonds. Or make it a peppermint patty–inspired fudge by subbing in ¼ tsp. peppermint extract and frosting with whipped marshmallow crème. The fudge starts to firm up quickly, so have whatever toppings or mix-ins you want to use ready to go and at arm’s length before you start cooking. Once you’ve got it set in the baking dish, walk away and don’t think about it again for at least 4 hours. The fudge needs time to fully set so that it holds its shape when sliced—we promise, the wait will be worth it.
This recipe was adapted from ‘Cakewalk’ by Kate Moses. Buy the full book on Amazon.
Recipe information
Total Time
45 minutes, plus setting time
Yield
About 2 lb. of fudge
Ingredients
Preparation
Step 1
Mix 4 cups (800 g) sugar, 1 cup (84 g) Dutch-process cocoa powder, 1½ cups whole milk, 2 Tbsp. light corn syrup, and 1 tsp. Diamond Crystal or ½ tsp. Morton kosher salt in a large, heavy saucepan or Dutch oven fitted with a candy thermometer. Place over medium heat and cook, stirring often, until sugar is completely melted, 7–10 minutes. Increase heat to medium-high and allow the mixture to come to a boil. Cook until thermometer reads 234° F (soft-ball stage), 9–12 minutes. Remove from heat and stir in 6 Tbsp. unsalted butter and 2 tsp. vanilla extract. Let cool in the pot at room temperature without stirring until thermometer reads 110° F, 30–45 minutes. While the fudge is cooling, butter the bottom and sides of an 8" square pan and line with a strip of parchment paper that hangs over two sides to create a sling.
Step 2
Beat fudge with a wooden spoon until it becomes very thick and loses its gloss (4–6 minutes of brisk beating; it’s okay to take quick, 30-second breaks as needed). You will know it’s ready when the fudge becomes very thick and starts to harden ever so slightly. Working very quickly, transfer fudge to prepared pan and press into an even layer using an offset spatula or clean hands. Top with chopped salted toasted nuts or flaky salt (if using); allow to cool uncovered at room temperature at least 4 hours, preferably overnight.
Cut fudge with a sharp knife, dipping the knife in hot water and wiping with a towel between cuts if necessary.
Do Ahead: Store fudge between layers of wax paper or parchment paper in an airtight container at room temperature up to 1 week.
Editor’s note: This fudge recipe first appeared on Epicurious in 2010 as ‘Pa’s Fudge.’ This version has been slightly adapted and updated for style by the Epicurious test kitchen. Head this way for more of our favorite Christmas candy recipes →