1 1/2 cups whole milk (see Ingredient Notes)
3 teaspoons powdered gelatin
1/3 cup sugar
1 1/2 cups light or heavy cream
1 teaspoon pure vanilla extract
Six 6-ounce ramekins
Lightly grease the ramekins: Spray the ramekins with cooking spray, then use a paper towel to wipe out most of the oil, leaving only a light residue.
Bloom the gelatin: Pour the milk into the saucepan and sprinkle the powdered gelatin evenly over top. Let soften for 5 minutes or until the surface of the milk is wrinkled and the gelatin grains look wet and slightly dissolved.
Dissolve the gelatin over low heat: Set the saucepan over low heat and warm the milk gently, stirring or whisking frequently. The milk should never boil or simmer; if you see steam remove the pot from the stove and let it cool down. The milk should get hot, but not so hot that you can’t leave your finger in the pot for a few seconds. The gelatin will dissolve quickly as the milk warms; it melts at body temperature so this step should go quickly.
Check to make sure the gelatin is dissolved: After about 2 minutes of warming, rub a bit of the milk between your fingers to make sure it’s smooth. Or dip a spoon in the milk and check the back for distinct grains of gelatin.
Dissolve the sugar: Stir the sugar into the milk and continue warming until it dissolves as well. It shouldn’t take more than 5 minutes total to dissolve both the gelatin and sugar. Again, never let the mixture boil.
Whisk in the cream and flavorings: Remove the saucepan from the heat. Whisk in the cream, vanilla, and a pinch of salt.
Pour into the ramekins and chill: Divide the mixture evenly between the prepared ramekins and put in the refrigerator to chill. If serving straight from the cups, without unmolding, chill for 1 to 2 hours. If you want to unmold the panna cotta, chill for at least 4 hours or overnight.
Prepare to unmold: Fill a large bowl partway with warm to hot water. Wipe a dessert plate with a damp paper towel (a damp plate lets you reposition the panna cotta more easily if it doesn’t fall in the right spot).
Release the panna cotta edge from the cup: Run a thin knife carefully around the sides of a ramekin. Don’t slide the knife all the way into the cup; just release the top edge of the pudding from the edge of the cup. Dip the ramekin in the warm water up to its rim, and hold it there for about 3 seconds.
Unmold on a plate: Invert the ramekin over the plate and shake gently to help the panna cotta fall out, or press gently on one side to help nudge it out. It should fall out on the plate easily. (If it does not, return to the warm water bath in increments of 2 seconds.) Reposition on the plate if desired. Serve immediately, or refrigerate, lightly covered, for up to 5 days. The gelatin gets stronger as it sits, so this will be a bit rubbery by days 4 or 5, but you can mitigate this by letting the panna cotta sit at room temperature for about half an hour before serving.
You can use any combination of milk, cream, coconut milk, soy milk, almond milk — really any creamy liquid — to make panna cotta. But the less fat in the panna cotta, the softer it will be. A panna cotta made with all soy milk, for instance, will set very softly.
Fun with flavors: If you want to play with the flavors, try scraping a vanilla bean into the warmed milk, instead of using extract. Or add lemon or almond extracts, or stir in a handful of chopped chocolate at the very end for a straciatella effect. You can substitute espresso or pureed fruit for some of the milk. Just a few ideas — the possibilities are endless!
Troubleshooting Panna Cotta
The panna cotta is still liquid! Perhaps the gelatin didn’t melt all the way, or you accidentally boiled the mixture. (Boiling destroys gelatin’s thickening power.) It may also have not set long enough.
My panna cotta has two layers! If you are using non-homogenized milk, this is especially likely to happen. To reliably avoid this, use half and half instead of milk and cream.