Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 1/2 cups shelled raw unsalted pistachios, divided
- 2 1/2 cups heavy cream, divided
- 1 1/2 cups whole milk
- 1 3/4 cups granulated sugar, divided
- 5 large egg yolks
- 4 tablespoons unsalted butter, cubed
- 1 1/4 teaspoons fine sea salt, divided
- 1 1/2 teaspoons vanilla extract, divided
- 1/8 teaspoon almond extract, optional
- 1/4 cup water
Do This
- 1. Roast pistachios at 325°F for 8 to 10 minutes, then cool. Blend 1 cup with 2 tablespoons sugar into a paste; chop the remaining 1/2 cup.
- 2. Make the caramel by boiling 1 cup sugar with 1/4 cup water until deep amber, 340°F to 350°F. Whisk in 1/2 cup warm cream, butter, 3/4 teaspoon salt, and 1/2 teaspoon vanilla. Cool, then chill until thick.
- 3. Warm 2 cups cream, 1 1/2 cups milk, pistachio paste, remaining base sugar, and 1/2 teaspoon salt to 160°F. Steep for 20 minutes.
- 4. Temper 5 egg yolks with the warm pistachio mixture, then cook gently to 170°F to 175°F until the custard coats a spoon.
- 5. Blend in 1 teaspoon vanilla and optional almond extract. Chill the base to 40°F for at least 4 hours.
- 6. Churn for 20 to 25 minutes, then layer with chopped roasted pistachios and thick salted caramel ribbons. Freeze at least 4 hours before scooping.
Why You’ll Love This Recipe
- Deep pistachio flavor: Roasting the pistachios first brings out their warm, nutty richness before they are blended into the creamy custard base.
- Luxurious caramel ribbons: The salted caramel is cooled until thick, so it stays in bold buttery swirls instead of disappearing into the ice cream.
- Creamy, scoopable texture: Egg yolks, whole milk, and heavy cream create a classic custard-style ice cream that feels rich and smooth.
- Elegant but doable: Each part is simple and home-kitchen friendly, with exact temperatures to help you feel confident.
Grocery List
- Produce: None required for this recipe.
- Dairy: Heavy cream, whole milk, large eggs, unsalted butter.
- Pantry: Shelled raw unsalted pistachios, granulated sugar, fine sea salt, vanilla extract, optional almond extract.
Full Ingredients
For the Roasted Pistachio Ice Cream Base
- 1 1/2 cups shelled raw unsalted pistachios, divided into 1 cup for the base and 1/2 cup for mixing in
- 3/4 cup granulated sugar, divided
- 2 cups heavy cream
- 1 1/2 cups whole milk
- 5 large egg yolks
- 1/2 teaspoon fine sea salt
- 1 teaspoon vanilla extract
- 1/8 teaspoon almond extract, optional, for a slightly bakery-style pistachio flavor
For the Buttery Salted Caramel Ribbons
- 1 cup granulated sugar
- 1/4 cup water
- 1/2 cup heavy cream, warmed until steaming but not boiling
- 4 tablespoons unsalted butter, cut into small cubes
- 3/4 teaspoon fine sea salt
- 1/2 teaspoon vanilla extract
For Layering and Serving
- The reserved 1/2 cup roasted pistachios, roughly chopped
- The chilled salted caramel sauce, added in thick ribbons
- Optional extra pinch of flaky sea salt for serving

Step-by-Step Instructions
Step 1: Prepare the equipment
If using a freezer-bowl ice cream maker, freeze the bowl for at least 24 hours before churning. Set a 9-by-5-inch loaf pan or a 1 1/2-quart freezer-safe container in the freezer while you make the ice cream so the churned base stays cold during layering. Place a fine-mesh strainer, a medium heatproof bowl, and an instant-read thermometer near the stove.
Step 2: Roast the pistachios
Preheat the oven to 325°F. Spread 1 1/2 cups shelled raw unsalted pistachios in a single layer on a rimmed baking sheet. Roast for 8 to 10 minutes, stirring once halfway through, until the nuts smell fragrant and look slightly deeper green and golden at the edges. Let them cool for 10 minutes.
Measure out 1 cup of the roasted pistachios for the ice cream base. Roughly chop the remaining 1/2 cup and set it aside for layering into the finished ice cream.
Step 3: Make the roasted pistachio paste
Add the 1 cup roasted pistachios and 2 tablespoons of the 3/4 cup sugar for the base to a food processor. Process for 3 to 5 minutes, stopping to scrape down the sides as needed, until the pistachios go from crumbs to a thick, slightly glossy paste. It does not need to be perfectly smooth, but the finer the paste, the silkier the base will be.
If your food processor is small or the mixture seems dry, add 2 tablespoons of the measured whole milk to help it move. This milk should come from the 1 1/2 cups listed for the base, not an extra amount.
Step 4: Cook the salted caramel
In a medium heavy-bottomed saucepan, combine 1 cup granulated sugar and 1/4 cup water. Cook over medium-high heat, gently swirling the pan if needed but avoiding stirring, until the sugar dissolves, bubbles vigorously, and turns a deep amber color. This usually takes 8 to 10 minutes. For the best flavor, the caramel should reach 340°F to 350°F on a candy or instant-read thermometer.
Remove the pan from the heat. Slowly whisk in 1/2 cup warm heavy cream; the mixture will bubble up dramatically, so pour carefully. Whisk in 4 tablespoons cubed unsalted butter, 3/4 teaspoon fine sea salt, and 1/2 teaspoon vanilla extract until smooth. Pour the caramel into a heatproof jar or bowl and let it cool at room temperature for 30 minutes, then refrigerate for at least 1 hour. For thick, distinct ribbons, the caramel should be cool and spoonable, not warm and runny.
Step 5: Warm and steep the pistachio cream
In a medium saucepan, combine 2 cups heavy cream, 1 1/2 cups whole milk, the pistachio paste, the remaining sugar from the 3/4 cup used for the base, and 1/2 teaspoon fine sea salt. Warm over medium heat, whisking often, until the mixture is steaming and reaches about 160°F. Do not boil.
Turn off the heat, cover the pan, and let the pistachio mixture steep for 20 minutes. This gives the roasted pistachios time to infuse the dairy, making the base taste fuller and nuttier.
Step 6: Cook the custard base
In a medium heatproof bowl, whisk 5 large egg yolks until smooth. Slowly ladle about 1 cup of the warm pistachio cream into the yolks while whisking constantly. This gentle warming prevents the eggs from scrambling.
Pour the tempered yolk mixture back into the saucepan. Cook over medium-low heat, stirring constantly with a heatproof spatula and scraping the bottom and corners of the pan, until the custard reaches 170°F to 175°F and coats the back of a spoon. This usually takes 5 to 7 minutes. If you run a finger through the custard on the spoon, the line should hold.
Do not let the custard boil. If it begins to steam heavily or you see bubbles around the edges, lower the heat right away.
Step 7: Strain, blend, and chill the base
Pour the custard through a fine-mesh strainer into a clean bowl, pressing gently on the pistachio solids to capture as much flavor and creamy liquid as possible. For a richer pistachio texture, you can whisk 1 to 2 tablespoons of the fine strained pistachio paste back into the base; for an ultra-smooth ice cream, leave the solids out.
Whisk in 1 teaspoon vanilla extract and 1/8 teaspoon almond extract, if using. For the smoothest finish, blend the base with an immersion blender for 30 seconds. Set the bowl over an ice bath and stir until the base cools below 70°F, then cover and refrigerate until completely cold, at least 4 hours or overnight. The base should be 40°F or colder before churning.
Step 8: Churn, layer, and freeze
Churn the cold pistachio base in your ice cream maker according to the manufacturer’s instructions, usually 20 to 25 minutes, until it has the texture of thick soft serve. During the last 1 minute of churning, add about half of the chopped roasted pistachios so they distribute throughout the ice cream.
Remove the chilled loaf pan or freezer container from the freezer. Spoon in one-third of the churned pistachio ice cream. Drizzle or dollop a thick ribbon of chilled salted caramel over the top, then sprinkle with some of the remaining chopped pistachios. Repeat with two more layers of ice cream, caramel, and pistachios. Avoid stirring the caramel in; layering keeps the ribbons bold and beautiful.
Press a piece of parchment paper or plastic wrap directly onto the surface of the ice cream, then cover tightly. Freeze at 0°F for at least 4 hours, or until firm enough to scoop. Let the ice cream sit at room temperature for 5 to 10 minutes before serving for the creamiest texture.
Pro Tips
- Use unsalted pistachios for control: Salted pistachios vary a lot by brand. If you only have salted pistachios, reduce the salt in the ice cream base to 1/4 teaspoon and taste the caramel before adding the full 3/4 teaspoon salt.
- Chill the caramel before layering: Warm caramel melts into the base. Cold, thick caramel creates those luxurious ribbons that stay visible when scooped.
- Watch the custard temperature: Pull the custard from the heat at 170°F to 175°F. Above 180°F, the eggs can overcook and the base may taste eggy or look curdled.
- Do not overfill the ice cream maker: The base expands as it churns. If your machine is small, churn in two batches and layer both batches with caramel and pistachios.
- For an extra-smooth base: Strain thoroughly and blend after cooking. For a more rustic pistachio texture, whisk a spoonful or two of the fine pistachio paste back into the custard.
Variations
- Dark chocolate pistachio caramel: Add 3 ounces finely chopped dark chocolate during the last 1 minute of churning, then layer with the salted caramel as directed.
- Honey pistachio caramel: Replace 2 tablespoons of the caramel sugar with honey for a floral, slightly deeper caramel flavor.
- Cardamom pistachio: Add 1/4 teaspoon ground cardamom to the warm dairy mixture while it steeps. It pairs beautifully with roasted pistachios and buttery caramel.
Storage & Make-Ahead
Store the ice cream in an airtight freezer-safe container with parchment paper or plastic wrap pressed directly against the surface to reduce ice crystals. It is best within 2 weeks, though it will keep for up to 1 month at 0°F. The salted caramel can be made up to 2 weeks ahead and refrigerated in a sealed jar; warm it for just 5 to 10 seconds if it becomes too firm to spoon, but let it cool again before layering. The pistachio custard base can be made 24 hours ahead and kept refrigerated until ready to churn.
Nutrition (per serving)
Calories: 675 kcal | Carbs: 54g | Protein: 9g | Fat: 48g | Saturated Fat: 24g | Fiber: 2g | Sugar: 50g | Sodium: 390mg | Cholesterol: 235mg
