Creamy doesn't cover it — this yogurt-based keto panna cotta sets smoother than any heavy cream version I've tried, at 4.2g net carbs. I top it with a sugar-free orange basil raspberry sauce people always ask about.
I tested this with heavy cream first (like every other recipe out there) and switched to yogurt after the third batch. The texture is completely different. Yogurt gives you a cleaner set that's creamy without being dense. I wasn't expecting that, but it makes sense: yogurt has a slight tang that lightens everything without losing richness. Multiple readers have told me the same thing, including one who tried four other recipes before landing here and said the yogurt is what changed everything. That matches my experience exactly.
This is one of those desserts I make the night before and forget about. Twenty minutes of actual work, then it chills overnight, and by the time guests show up the next day it's ready to plate. I've left these in the fridge for two full days before serving and the texture held up perfectly. I've served them at dinner parties where three people asked for the recipe before we finished eating. The orange basil raspberry sauce is what catches people off guard. Basil cuts through the sweetness just enough, and the whole thing feels more put-together than the effort it takes.
The whole base comes together in under 20 minutes. I use coconut milk, unflavored gelatin, erythritol, and plain low carb yogurt. That's it. No fussy tempering, no water bath, no oven. You heat the milk, bloom the gelatin, stir in the yogurt, and walk away. The fridge does the rest. I've made this so many times now that I can do it while cooking dinner without even thinking about it. The hardest part is waiting for it to set, which takes 3-4 hours (or overnight if you're prepping ahead).
I top mine with a raspberry sauce made with fresh berries, monkfruit sweetener, orange zest, and minced basil. One reader (Holly) told me she pulled back on the orange zest after a few batches because it was overpowering. I like mine with the full amount, but start with half the zest if you're not sure and adjust from there. The sauce keeps separately in the fridge for a few days, so you can make everything ahead and just assemble when you're ready to serve.
You don’t need special molds for this. I use ramekins or small glass dishes, and I try to keep them the same size so the presentation looks clean. A silicone muffin tin works too, but I noticed the texture comes out slightly different (a little less smooth around the edges). When I’m serving guests, I stick with ramekins and either leave them as-is or flip them onto a plate.
If you have leftovers, they keep well in the fridge for up to 4 days. I don’t freeze these. The gelatin texture breaks down and you lose that smooth, creamy quality. Better to make a small batch fresh each time. If you’re looking for a dessert that does freeze well, I’d go with cheesecake fluff instead.
A Classic Italian Dessert
Panna cotta is a traditional Italian dessert made with milk, cream, and gelatin. The name translates to “cooked cream,” which is funny because you barely cook anything. It’s one of the simplest desserts in Italian cooking, and I think that’s why it works so well at home.
The classic version uses sugar and heavy cream. I skip both. I use erythritol for sweetness and yogurt in place of most of the cream, which gives a lighter, silkier texture that I actually prefer. The topping is sweetened with monkfruit instead of sugar too. Vanilla is the traditional flavor, but I’ve found this base holds up to bolder toppings better than a plain cream version would.
Choosing the Right Gelatin
Gelatin is what gives this dessert its structure, so the type matters. I use unflavored, grass-fed powdered gelatin. Stay away from flavored gelatin packets (they’re loaded with sugar). The biggest mistake I see is using too much. If you add extra thinking it’ll set firmer, you end up with something rubbery. Stick to the amount in the recipe and let the full chill time do its job.
Which Yogurt Works Best
Most grocery store yogurts have more sugar than you’d expect. For this recipe, grab a plain, low carb yogurt. I use Two Good (2g carbs per serving) and it works perfectly here. Plain Greek yogurt is fine too if you can’t find a low carb option specifically. Just check the nutrition label before you buy. I’ve tested flavored yogurts in this and they throw off the sweetness balance, so I stick with plain or vanilla.
The Orange Basil Raspberry Sauce
This sauce is what makes the whole thing. Basil adds a refreshing, almost herbal note that cuts through the sweetness, while raspberry and orange bring just enough fruit flavor without overpowering the base. I almost didn’t add the basil originally, but it pulls everything together.
If you want to switch things up, a few keto-friendly variations work well: stir cocoa powder into the base for a chocolate version, add a shot of espresso for coffee, or swap the raspberries for strawberries. Each one changes the character without needing a new recipe. For something completely different with gelatin, try my raindrop cake or gummy worms.
How to Unmold and Serve
If you want to flip yours onto a plate, run a thin knife around the edge of the ramekin first. Dip the bottom in warm water for about 10 seconds, then invert it in one smooth motion. Don't wiggle it. I've done this probably 30 times and the warm water dip is the difference between a clean release and a mess.
If yours went too firm in the fridge (it happens), pull it out about 15 minutes before serving. It softens right up at room temperature. I actually prefer the texture after it sits out a few minutes.
Pour 1/4 cup coconut milk in a small bowl and sprinkle in gelatin. Set aside for 10 minutes.
2
Start the panna cotta base
In a large saucepan, simmer the remaining milk over low medium heat. Add sweetener and stir to combine. Add gelatin mixture and whisk vigorously until dissolved. Remove from heat and add vanilla.
3
Add yogurt
Stir in yogurt. Divide into serving dishes and refrigerate for 3-4 hours until set.
4
Make sauce
Add berries and sweetener in a saucepan. Cook over medium heat until berries have softened and released their juices. Add basil, orange zest, water and xanthan gum. Cook for 5 minutes until thickened. Spoon over set panna cotta.
Nutrition
Calories
186
Fat
12.6g
Protein
9.5g
Total carbs
7.3g
Net carbs
4.2g
Nutrition is an estimate calculated from the ingredients listed. Brands vary, so check labels if you track closely.
Frequently Asked Questions
Can I make this the night before?
I make this the night before almost every time. It needs 3-4 hours to set, so making it the evening before a dinner party is ideal. The texture actually improves with a longer chill. I've pulled them out after 12 hours and they were perfect.
How do I unmold it without it breaking?
I run a thin knife around the edge, dip the bottom of the ramekin in warm water for about 10 seconds, then flip it in one smooth motion. The warm water is the key. I skipped that step the first time and ended up with a mess on the plate.
Why did mine come out rubbery?
Too much gelatin. I've been there. Stick to the exact amount in the recipe. The other thing I've noticed is that yogurt makes a real difference. I tested heavy cream (like most recipes call for) and it set firmer and chewier. Yogurt gives a softer, creamier result.
How many net carbs per serving?
This comes in around 4g net carbs per serving depending on the yogurt you use. I use Two Good (2g per serving) which keeps it on the lower end. The raspberry sauce adds a small amount, but the monkfruit sweetener keeps it minimal. Fits easily into a keto day.
Can I make a chocolate or coffee version?
I've tried both. For chocolate, I stir in 2 tablespoons of unsweetened cocoa powder when I add the sweetener to the warm milk. For coffee, I replace about 1/4 cup of the coconut milk with strong brewed espresso. Both set the same way. The chocolate version reminds me of my peanut butter mousse but lighter.
Can I freeze this?
I don't recommend it. I tried freezing a batch once and the gelatin texture completely changed when it thawed. It went grainy and lost that smooth quality. This keeps in the fridge for up to 5 days though, so I just make a small batch when I want it.
Is this recipe dairy-free?
The base uses coconut milk, so it's close. The yogurt is the only dairy component. I've made it with dairy-free yogurt (just make sure it's unsweetened) and it set fine. The texture is slightly thinner but still creamy. My dairy-free ice cream uses a similar coconut milk base if you're going fully dairy-free.
What can I use instead of erythritol?
I've swapped in monkfruit sweetener and it works the same way. Stevia works too, but check the conversion since it's much sweeter drop for drop. I prefer monkfruit because it dissolves cleanly and doesn't have that cooling effect erythritol sometimes has.
Erythritol’s cooling effect is way more noticeable in cold desserts than baked goods. Mine had a faint minty edge after setting, just the sweetener, nothing wrong. Really smooth texture. Raspberry sauce is good enough I’d double it.
Been on a panna cotta kick lately and this yogurt version sounds way better than the heavy cream ones I keep messing up. I’ve got a pile of fresh strawberries I need to use, do you think they’d work with the orange zest and basil, or is the raspberry-orange balance pretty specific to how the sauce comes together?
Making this for a dinner party next weekend and can’t find plain low-carb yogurt anywhere. Would full-fat Greek yogurt work instead, or does the lower-carb kind have a different consistency that affects how it sets?
Greek yogurt works. It’s thicker than Two Good so it’ll set a little firmer, but it still unmolds clean. Carbs go up (Two Good is 2g per serving, Greek is more like 6-8g) so worth knowing before you plate it.
My sister is dairy-free and I really want to make this for her birthday next week. Coconut milk is already perfect for her, but I’m not sure about swapping the low-carb yogurt for a coconut-based one. Does the protein difference affect how the gelatin sets? I’ve had a few dairy-free panna cottas go kind of gummy on me and really don’t want that to happen.
Gummy texture is almost always too much gelatin, not a protein issue. I’ve made this with dairy-free yogurt and it set fine, just a little thinner than usual, still held its shape. Stick to the exact gelatin amount and make sure the coconut yogurt is unsweetened.
Made this over the weekend. Texture came out wobbly, like it hadn’t fully set even after 4 hours. I bloomed the gelatin in the coconut milk like the recipe says, but wasn’t totally sure I did it right. Does it need to be completely dissolved before mixing into the base, or is some graininess okay at that point?
Grainy means it’s not dissolved yet. Bloom it in the cold coconut milk first, then warm it over low heat stirring until completely smooth, no granules at all. And 4 hours is the minimum, give it another hour or two if it’s still wobbly.
Tried four different keto panna cotta recipes before this one and every single one had this rubbery texture that felt more like Jell-O than actual dessert. The yogurt here is what changes it, so much creamier and it actually holds together right. Four stars because I overchilled mine and it got a little too firm, but that is on me, not the recipe.