Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 cups heavy cream
- 1 cup whole milk
- 3/4 cup granulated sugar, divided
- 1/4 cup Dutch-process cocoa powder
- 2 tablespoons light corn syrup or golden syrup
- 1/4 teaspoon fine sea salt
- 5 large egg yolks
- 6 ounces 70% dark chocolate, finely chopped
- 1 teaspoon pure vanilla extract
- 1/2 teaspoon flaky sea salt, divided
Do This
- 1. Freeze your ice cream maker bowl at 0°F for at least 24 hours if your machine requires it.
- 2. Heat cream, milk, 1/2 cup sugar, cocoa, corn syrup, and fine sea salt to 170°F, whisking until smooth.
- 3. Whisk egg yolks with the remaining 1/4 cup sugar, then slowly temper with 1 cup of the hot chocolate dairy mixture.
- 4. Cook the custard over medium-low heat to 175°F, stirring constantly, about 6 to 8 minutes.
- 5. Pour the hot custard over chopped dark chocolate, rest 2 minutes, whisk smooth, strain, and stir in vanilla.
- 6. Chill until 40°F or colder, at least 4 hours, then churn 20 to 25 minutes.
- 7. Layer churned ice cream with 1/4 teaspoon flaky sea salt, freeze 4 hours, and finish servings with the remaining 1/4 teaspoon flaky sea salt.
Why You’ll Love This Recipe
- Deep, dark chocolate flavor: Dutch-process cocoa gives the base intensity, while melted 70% dark chocolate makes it taste luxurious and full-bodied.
- Beautifully balanced salt: Fine sea salt seasons the custard, and delicate flaky sea salt lands on the finish so each bite tastes brighter without becoming salty.
- Ultra-creamy texture: Egg yolks, heavy cream, and a little corn syrup create a smooth, scoopable ice cream with a rich custard-style body.
- Perfect make-ahead dessert: Make it a day or two ahead and pull it from the freezer when you want a dramatic, chocolate-forward treat.
Grocery List
- Produce: Optional fresh raspberries or fresh mint for serving
- Dairy: Heavy cream, whole milk, large eggs
- Pantry: Granulated sugar, Dutch-process cocoa powder, light corn syrup or golden syrup, 70% dark chocolate, fine sea salt, flaky sea salt, pure vanilla extract
Full Ingredients
Chocolate Custard Base
- 2 cups heavy cream
- 1 cup whole milk
- 3/4 cup granulated sugar, divided into 1/2 cup and 1/4 cup
- 1/4 cup Dutch-process cocoa powder, sifted if lumpy
- 2 tablespoons light corn syrup or golden syrup
- 1/4 teaspoon fine sea salt
- 5 large egg yolks
- 6 ounces 70% dark chocolate, finely chopped
- 1 teaspoon pure vanilla extract
To Finish
- 1/2 teaspoon flaky sea salt, divided
- Optional: 1 tablespoon finely shaved dark chocolate for serving
- Optional: fresh raspberries for serving

Step-by-Step Instructions
Step 1: Prepare the equipment and chocolate
If your ice cream maker uses a freezer bowl, freeze the bowl at 0°F for at least 24 hours before churning. Place a 1-quart freezer-safe container in the freezer so it is cold when the churned ice cream is ready. Set a fine-mesh strainer over a medium heatproof bowl, and keep an instant-read thermometer nearby. Finely chop the 6 ounces of dark chocolate and place it in a large heatproof bowl.
Step 2: Warm the cream, milk, cocoa, sugar, and salt
In a medium saucepan, combine the 2 cups heavy cream, 1 cup whole milk, 1/2 cup of the granulated sugar, 1/4 cup Dutch-process cocoa powder, 2 tablespoons corn syrup, and 1/4 teaspoon fine sea salt. Whisk until the cocoa is fully moistened and no dry pockets remain. Set the pan over medium heat and cook for 5 to 7 minutes, whisking often, until the mixture is steaming and reaches 170°F. Do not let it boil.
Step 3: Whisk the egg yolks
While the dairy mixture heats, place the 5 egg yolks in a medium bowl with the remaining 1/4 cup granulated sugar. Whisk for about 2 minutes, until the yolks look slightly lighter, thicker, and glossy. This step helps dissolve the sugar and makes it easier to temper the eggs smoothly.
Step 4: Temper the yolks gently
Slowly drizzle about 1 cup of the hot chocolate dairy mixture into the egg yolks while whisking constantly. Add it gradually, especially at the beginning, so the yolks warm up without scrambling. Once the full cup is whisked in and the mixture feels warm, pour the tempered yolk mixture back into the saucepan with the remaining hot dairy.
Step 5: Cook the custard to the right thickness
Return the saucepan to medium-low heat. Cook for 6 to 8 minutes, stirring constantly with a heatproof spatula and scraping the bottom and corners of the pan, until the custard reaches 175°F and lightly coats the back of the spatula. For the silkiest texture, do not let the custard exceed 180°F. If you see any bubbling around the edges, lower the heat immediately.
Step 6: Melt in the dark chocolate and strain
Pour the hot custard over the chopped 70% dark chocolate. Let it sit undisturbed for 2 minutes so the chocolate can melt, then whisk slowly from the center outward until the base is completely smooth, shiny, and dark. Pour the mixture through the fine-mesh strainer into a clean bowl to catch any tiny bits of cooked egg or cocoa solids. Stir in 1 teaspoon pure vanilla extract.
Step 7: Chill the base thoroughly
For faster cooling, set the bowl of chocolate custard inside a larger bowl filled with ice water and stir for 10 to 15 minutes, until the custard cools to about 70°F. Cover the surface directly with parchment paper or plastic wrap to prevent a skin from forming. Refrigerate for at least 4 hours, or up to 24 hours, until the base is 40°F or colder. A very cold base churns creamier and freezes more evenly.
Step 8: Churn, layer with flaky salt, and freeze
Pour the chilled custard into your ice cream maker and churn according to the manufacturer’s directions, usually 20 to 25 minutes, until it looks like thick soft-serve ice cream. Spoon one-third of the churned ice cream into the chilled storage container, sprinkle with a small pinch of flaky sea salt, and repeat with the remaining ice cream, using 1/4 teaspoon flaky sea salt total for layering. Do not overmix the flaky salt; keeping it lightly scattered gives you delicate, bright pops of flavor. Press parchment paper directly onto the surface, cover tightly, and freeze at 0°F for 4 hours, or until firm enough to scoop. Serve with the remaining 1/4 teaspoon flaky sea salt sprinkled lightly over the scoops.
Pro Tips
- Use 70% dark chocolate for balance: It gives a deep, bittersweet flavor without making the ice cream harsh. If using chocolate above 75%, the finished ice cream may taste less sweet.
- Keep the heat gentle: Custard thickens best over medium-low heat. Stir constantly and aim for 175°F for a smooth texture.
- Chill completely before churning: A base that is 40°F or colder churns faster and traps smaller ice crystals, which makes the ice cream creamier.
- Add flaky salt in layers: Folding all the salt into the machine can make it disappear into the base. Layering preserves little bursts of clean sea salt flavor.
- Soften before scooping: Let the container sit at room temperature for 5 to 10 minutes before serving for rounded, glossy scoops.
Variations
- Dark Chocolate Espresso Sea Salt Ice Cream: Whisk 1 teaspoon instant espresso powder into the warm dairy mixture in Step 2. It deepens the chocolate flavor without making the ice cream taste strongly like coffee.
- Chocolate Almond Sea Salt Ice Cream: Fold 1/2 cup finely chopped toasted almonds into the churned ice cream during the final 30 seconds of churning, then layer with the flaky salt as directed.
- Spiced Dark Chocolate Sea Salt Ice Cream: Add 1/4 teaspoon ground cinnamon and 1/8 teaspoon cayenne pepper to the saucepan with the cocoa powder for a gentle warming finish.
Storage & Make-Ahead
Store the ice cream in an airtight 1-quart freezer-safe container at 0°F. Press parchment paper or plastic wrap directly against the surface before adding the lid to reduce ice crystals. The ice cream is best within 2 weeks, but it will keep for up to 1 month. You can make the custard base up to 24 hours before churning; keep it covered in the refrigerator at 40°F or colder. For the cleanest sea salt flavor, reserve a small pinch of flaky salt for sprinkling right before serving.
Nutrition (per serving)
Calories: 480 kcal | Carbs: 38g | Protein: 6g | Fat: 35g | Saturated Fat: 21g | Fiber: 3g | Sugar: 32g | Sodium: 190mg | Cholesterol: 183mg
