Keto Panna Cotta
Published July 9, 2021 • Updated March 11, 2026
This post may contain affiliate links. See my disclosure policy.
A creamy, yogurt-based panna cotta that sets smoother than any heavy cream version I've tried. I top mine with a sugar-free orange basil raspberry sauce that 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.
If you like this kind of set-and-forget gelatin dessert, I have a few others worth trying. My chocolate mousse is richer and more indulgent, while the raspberry no-bake cheesecake leans tangy. This keto panna cotta sits right in between: light, creamy, and not too sweet.
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.
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.
Explore 687+ keto recipe videos with step-by-step instructions, tips, and tricks to make keto easy.
Keto Panna Cotta Ingredients
1 1/4 cups unsweetened coconut milk
1 tablespoon unflavored gelatin
1/4 cup powdered erythritol blend sweetener
1 teaspoon vanilla extract
15 oz plain low-carb yogurt
Raspberry Orange Basil Sauce Ingredients
1 cup raspberries
3 tablespoons monkfruit blend sweetener
zest from one orange
5-6 basil leaves, minced
2 tablespoons water
1 teaspoon xanthan gum
Step by Step Instructions
Step by Step Instructions
Bloom gelatin
Pour 1/4 cup coconut milk in a small bowl and sprinkle in gelatin. Set aside for 10 minutes.
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.
Add yogurt
Stir in yogurt. Divide into serving dishes and refrigerate for 3 – 4 hours until set.
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 disclaimer
The nutrition information provided is an estimate and is for informational purposes only. I am a Doctor of Pharmacy (Pharm.D.); however, this content is not intended to be a substitute for professional medical advice, diagnosis, or treatment. Always consult your physician or other qualified health provider before making any lifestyle changes or beginning a new nutrition program.
Your Macros. Your Recipes. Calculated in 60 Seconds.
Get personalized keto macros and instantly see which recipes fit your targets. No more guessing what to eat.
Get My Macros + Recipes →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 2-3g 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.


Used strawberries instead of raspberries (it's what I had) and the orange zest pulls something SO bright out of them. Way more than I expected. Was a little nervous the gelatin ratio would shift with different berries, but it set up clean after about 3.5 hours. Trying the original raspberry version next but I might be making this one on a loop through spring.
Strawberries and orange zest is actually a better pairing than I would have guessed. The raspberry version is more tart so the citrus hits differently there. 3.5 hours is right where you want it.
I've made probably four or five panna cotta recipes over the years and they all had that same slightly rubbery set from the heavy cream. This one is different. The yogurt keeps it almost silky, closer to how a good Italian version actually feels. The orange basil raspberry sauce was the part I wasn't expecting to love as much as I do, but it's what pulls the whole thing together. This one is staying.
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 grandmother made panna cotta every Easter and I basically wrote it off when I went keto three years ago. The orange basil raspberry sauce hit me the moment I tasted it. Four stars because I over-bloomed the gelatin and it set too firm, but the flavor took me somewhere I hadn't been in a while.
Usually it's the bloom time. I pull mine at 3-4 minutes max, then straight to the warm milk before it gets sticky. That sauce is the part most people struggle with, so you're closer than the 4 stars suggest.
Never made panna cotta before, and the gelatin step had me nervous. It bloomed fine though and the whole thing came together in about 20 minutes before the fridge does its thing. The yogurt base is softer than I expected, not that heavy cream texture I had pictured. The orange zest in the raspberry sauce is what actually made it. Already planning this for Easter.
The orange zest took me a few tries to get right. Too little and the sauce just tastes sweet. Easter is a solid call for this.
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.
Made this four times now and the raspberry sauce has shifted a little each time. First few, I was heavy with the orange zest and it came out too bright against the panna cotta, so I've pulled back to about half. The panna cotta base I leave exactly as written. Sets up clean and silky every time and I've stopped messing with it.
The zest gets sharp fast in that sauce. Half is usually where it clicks for me too, sometimes a touch less if the raspberries are already tart.
Wasn't sure yogurt would work but the texture came out clean, no rubbery bite. The raspberry sauce with orange zest is what sold me.
That orange zest is what pulls the raspberry sauce together. The yogurt gives a cleaner set than heavy cream. I tested both.
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.
Four other recipes before this one. Pull it out 15 minutes before serving if it goes too firm, it softens right up.
Brought these to a dinner party last weekend and had three people ask for the recipe before dessert was even over. The orange zest with basil combination really caught people off guard in the best way.
That herb combo is sneaky good, right? I almost didn't add the basil but it cuts through the sweetness just enough.