Add 3 cups whole milk to a heavy saucepan. Bring to a gentle simmer over medium heat.
Stir often and scrape the sides and bottom with a silicone spatula to prevent scorching.
Simmer 20–25 minutes until the milk reduces by about one-third and slightly thickens. You should see light coating on the spoon.
Turn off the heat. Stir in a pinch of saffron (if using) to bloom in the residual heat.
Whisk in 1/2 cup sweetened condensed milk and 1/2 cup heavy cream until smooth.
Add a small pinch of salt and 1/4 teaspoon ground cardamom. Taste and adjust cardamom to preference.
Let the mixture cool to room temperature. You can set the pot in a cold water bath to speed this up.
In a blender, combine 1.5 to 2 cups mango puree with the cooled milk mixture.
Blend until silky. Taste: if your mangoes aren’t very sweet, blend in 1–3 tablespoons sugar.
Optional: add 1/2 to 1 teaspoon rose water for a delicate finish. Blend briefly to combine.
Pour into kulfi molds, popsicle molds, small ramekins, or a loaf pan lined with parchment.
If adding nuts, sprinkle a layer at the bottom of molds or fold 2–3 tablespoons into the mixture.
Cover tightly. For molds, insert sticks. For a loaf pan, press plastic wrap directly onto the surface.
Freeze 6–8 hours, preferably overnight, until firm.
Dip molds in warm water for 10–15 seconds to loosen. Gently pull out.
If using a loaf pan, let sit at room temp 5–8 minutes, then scoop or slice.
Garnish with chopped pistachios, a pinch of cardamom, and a few saffron strands if you’d like.