If you’ve been hunting for a Halloween dessert that looks spooky but tastes like a cloud, this is the one.
We’re making keto coconut milk panna cotta eyeballs set inside a wobbly pool of red berry gel.
It’s creepy on the table, soft on the spoon, and low in carbs so you can enjoy a slice without the sugar crash.
My niece calls them “the staring pudding,” which… fair. On Halloween night, they blink at you from the bowl and then vanish fast because kids and grown ups eat them quick.
I’ve cooked this four Octobers in a row. The first year, my eyeballs looked like egg whites with bruised grapes.
The second year, the gel was too stiff and the spoon bounced. By year three, I learned a few tricks.
Coconut milk gives a smooth base, a little cream cheese makes it richer, and a tiny blueberry becomes the pupil.
The berry gel gets its color from raspberries and strawberries, not food dye. So the whole thing looks like a mad scientist project but tastes like a real dessert.
Below you’ll find a full guide in plain words. No fancy skills. If you can heat a pot, bloom gelatin, and pour into molds, you’re good.
What You’ll Make
- Silky, keto panna cotta “eyeballs” shaped in round molds.
- A sugar free red berry gel that holds the eyeballs in place like a shallow pond.
- Edible pupils and irises made from blueberries and thin kiwi or strawberry slices.
You can serve them in a big glass dish like a graveyard pond, or in small cups for single servings. They jiggle, they shine, they get gasps when you bring them out.
Ingredients (Keto Friendly)
For the Eyeballs (Panna Cotta)
- 2 cans full fat coconut milk (13.5 oz each). Shake cans well.
- 4 oz cream cheese, softened (room temp mixes smoother).
- 1 cup heavy cream or coconut cream (for extra richness).
- 3 to 4 tablespoons powdered allulose (or powdered erythritol monk fruit blend). Adjust to taste; allulose gives a softer set.
- 2 teaspoons vanilla extract.
- Pinch of salt.
- 2 ½ teaspoons powdered gelatin (one packet is usually about 2 ½ tsp).
- 3 tablespoons cold water for blooming the gelatin.
- 20 to 24 fresh blueberries for the pupils.
- 1 to 2 kiwis or 6 strawberries, thinly sliced into small discs for the iris. You’ll cut out tiny circles.
For the Red Berry Gel
- 2 cups raspberries, fresh or frozen.
- 1 cup strawberries, hulled and chopped.
- ¾ to 1 cup water, as needed to blend.
- ¼ to ⅓ cup allulose (start low, berries are sweet; you can add more to taste).
- 1 tablespoon lemon juice or lime juice.
- Pinch salt.
- 2 ½ to 3 teaspoons powdered gelatin.
- 3 tablespoons cold water for blooming.
Optional Add-ons
- 1 teaspoon coconut extract in the panna cotta for more coconut scent.
- A few strips of lime zest for a tiny bitter edge in the gel.
- Sugar free chocolate syrup or melted sugar free chocolate to paint “veins” in the gel. Food safe brush helps.
Tools You’ll Need
- Round silicone molds or a silicone half-sphere mold. Ice cube sphere trays work great. You can also use a mini muffin pan with silicone cups.
- Small pot and a medium pot.
- Blender or stick blender.
- Fine mesh sieve for the berry puree.
- Measuring cups and spoons.
- A tray or cutting board to move molds in and out of the fridge.
- Piping bag or a small zip bag with the corner snipped (helps filling cleanly).
- Small round cutters (a metal piping tip works) to punch kiwi or strawberry discs.
How the Eyeball Build Works (Simple Science Bit)
Gelatin sets when cooled. If it overheats, it weakens and will not set firm. If it doesn’t bloom in cold water first, it clumps. Coconut milk has fat, which gives a creamy feel, but water in it still binds the gelatin. Allulose keeps things softer and more scoopable than erythritol, which can re-crystalize. That’s why I lean to allulose in both parts.
For the look, the blueberry gives a dark pupil. A thin slice of kiwi or strawberry behind it makes the iris color. The panna cotta is the white. The berry gel is the “blood” around it. It’s theater, but edible theater.
Step-by-Step: Panna Cotta Eyeballs
- Bloom the gelatin.
Sprinkle 2 ½ teaspoons gelatin over 3 tablespoons cold water in a small bowl. Leave it 5 to 10 minutes. It will look like a thick jelly. This step matters. Do not skip. - Warm the base.
In a medium pot add coconut milk, heavy cream, sweetener, salt. Heat over medium low, whisking now and then, until steam rises and sweetener dissolves. Do not boil. If it bubbles, lower the heat. - Blend in cream cheese.
Turn the heat to low. Whisk in softened cream cheese until smooth. A stick blender gives a super smooth mix. Aim for no little white dots. - Add vanilla and gelatin.
Remove pot from heat. Stir in vanilla. Add bloomed gelatin and whisk until melted. If a few bits resist, put the pot back on low heat for 20 to 30 seconds and whisk more. Don’t boil. - Cool slightly.
Let the mix sit 5 minutes. This prevents blueberries from sinking too much and keeps condensation low in the molds. - Prepare the irises and pupils.
Cut kiwi into very thin rounds, then punch out tiny discs about the size of a blueberry. If using strawberry, same idea. Place one iris disc flat in the bottom of each round mold. Put a blueberry on top, stem side down, so the smooth side faces up. If your molds are half spheres, place the fruit in the very center. - Fill the molds.
Pour or pipe the warm panna cotta mix over the blueberry and iris until just full. Tap the mold tray gently to pop bubbles. - Chill to set.
Move molds to the fridge on a tray. Let set 3 to 4 hours, or until firm and bouncy. Overnight is even better for clean edges. - Unmold.
Once firm, push from underneath to release each eyeball. If it sticks, dip the bottom of the mold quickly in warm water and try again. Place eyeballs on a parchment lined tray, iris side up. Keep chilled.
Tip: If you only have a standard muffin tin, line with silicone cups, build the pupils in the center, and fill halfway so the shape stays more round than flat.
Make the Berry Gel “Blood”
- Bloom the gelatin.
Sprinkle 2 ½ to 3 teaspoons gelatin over 3 tablespoons cold water in a cup. Sit 5 to 10 minutes. - Cook the berries.
Add raspberries, strawberries, ¾ cup water, sweetener, lemon juice, and a pinch salt to a pot. Bring to a gentle simmer for 3 to 4 minutes. The fruit will soften and release color. - Blend and strain.
Blend the hot berries until smooth. Press through a fine sieve to remove seeds. Return the seedless puree to the pot. Taste. Add a little more sweetener if needed. Thin with a splash more water if very thick; we want a pourable gel that sets soft, not rubbery. - Melt in gelatin.
Take puree off the heat. Stir in the bloomed gelatin until fully dissolved. If lumps stay, warm gently while stirring. Do not let it boil. - Cool to lukewarm.
Let the gel sit 10 to 12 minutes until it’s just warm, not hot. This keeps the panna cotta eyeballs from melting on contact.
Assemble the Scene
You have two paths. A big dish for a dramatic bowl, or individual cups for clean serving.
Big Dish “Pond”
- Pour a shallow layer of warm berry gel into a wide glass dish. Chill 10 minutes to slightly thicken.
- Set the eyeballs on top, iris up, spacing them so they stare in random directions.
- Spoon more gel around and partly over the eyeballs, almost to the top but not fully covering them. You want the “eyes” peeking out.
- Chill 2 to 3 hours until the gel quivers but holds shape.
Individual Cups
- Add 2 to 3 tablespoons gel in each clear cup. Chill 10 minutes.
- Nest one eyeball in the center.
- Spoon gel around it to secure. Chill until set.
Optional: Use a food safe brush and a little melted sugar free chocolate to paint thin “veins” on the panna cotta before you add the gel. Looks gross, which is the goal. Or swirl the brush in still warm gel to paint streaks on the glass.
Taste and Texture
- Panna cotta: cool, silky, a little coconut and vanilla, not too sweet.
- Blueberry center: little pop and deep color.
- Berry gel: bright, tart-sweet, smooth from the sieve, and soft set so it melts on the tongue.
If your guests say “eww” first and “mmm” second, you nailed it.
Carb Count and Serving Size
This will vary with your sweetener and fruit, but here’s a ballpark:
- Panna cotta eyeball (one half sphere, about 1 ½ to 2 inches): roughly 2 g net carbs.
- Berry gel around one eyeball (2 to 3 tablespoons): roughly 1 to 2 g net carbs, since raspberries and strawberries are lower sugar and we used allulose.
A serving of one eyeball with gel is about 3 to 4 g net carbs. If you go heavy on gel, count a touch more.
Make Ahead and Storage
- Make both parts the day before Halloween. The set gets cleaner overnight.
- Keep covered in the fridge. The panna cotta stays lovely for 3 to 4 days. The gel stays fine for 4 days.
- Do not freeze. Frozen gelatin weeps when it thaws and the eyes will cry pink tears. Not in a cute way.
Ingredient Notes and Swaps
- Coconut milk: Use full fat. Lite versions set weak and taste thin. If your brand separates, warm and whisk smooth before measuring.
- Cream cheese: Gives body and a creamy mouthfeel. Dairy free? Swap with ⅓ cup coconut cream plus 1 teaspoon gelatin extra in the panna cotta mix.
- Sweetener: Allulose is my pick for smoothness. Erythritol blends can work, but sometimes make a cool mouthfeel or tiny crystals after day two. If using erythritol, sift it very fine and taste the hot mix to be sure it’s sweet enough.
- Gelatin: Standard powdered gelatin is fine. If using sheets, you want about 4 sheets total for the panna cotta and 4 sheets for the gel, but check your brand’s bloom strength.
- Berries: Raspberries bring color and tart notes. Strawberries round it out. You can use only raspberries for a darker red. Blackberries make it more purple.
- Pupil and iris: Blueberry is classic. For the iris, kiwi gives a green ring like a reptile eye. Strawberry gives a red ring. You can also use a thin slice of green grape for a pale, eerie eye.
- Dairy free path: Use only coconut milk and coconut cream, skip heavy cream and cream cheese, then add ½ to 1 teaspoon extra gelatin in the panna cotta.
Troubleshooting
- Won’t set.
Most times either the gelatin wasn’t bloomed, or the mix got too hot and broke the gelatin. Warm it gently, add ½ teaspoon more bloomed gelatin, stir, and re-chill. Also check you didn’t use “lite” coconut milk. - Rubbery texture.
Too much gelatin. Measure with a level teaspoon. For a softer spoon feel, use allulose and keep gelatin at the lower range. If it’s already rubbery, let it sit in the fridge overnight; sometimes it relaxes a bit. - Grainy sweetener.
Erythritol can re-crystalize. Warm the panna cotta mix enough to dissolve it well, or switch to powdered allulose next time. - Fruit sinking or floating oddly.
Pour when the panna cotta base has cooled a few minutes, not piping hot. If the blueberry floats up, place the iris slice on top of the blueberry to keep it down, then flip when unmolding. Or freeze the blueberries for 10 minutes first; cold fruit stays put better. - Bubbles on top.
Tap the mold on the counter. If stubborn, pass a heat gun or hair dryer on low over the surface very briefly to pop bubbles. Careful not to melt the edges. - Gel separates.
The berry puree was too thin or you added gelatin to very hot liquid and it broke. Stick to lukewarm when mixing in gelatin, and don’t add too much water.
Time Plan for Halloween Day
- Morning (or the day before): Make panna cotta and chill 3 to 4 hours.
- Afternoon: Make berry gel and assemble. Chill 2 hours.
- Evening: Paint chocolate veins if you want, garnish, and serve cold.
If you’re hosting a party, build in small clear cups so people can grab and walk. They set firm enough to carry, but still spoon soft.
Flavor Twists That Stay Keto
- Citrus hint: Add orange zest to the panna cotta. Just a little. Orange and coconut together taste round and cozy.
- Spiced gel: A pinch of cinnamon or a tiny shave of fresh ginger in the berry pot warms the flavor without adding carbs worth worry.
- Coconut caramel drizzle: Make a quick sugar free caramel with allulose and butter, then thin with a splash of coconut milk. Drip a few lines across the gel for a “cracked earth” look.
- Coffee eye: Add ½ teaspoon espresso powder to the panna cotta for a faint beige tint and mocha scent, then use a green kiwi iris so it still reads eyeball.
Presentation Ideas
- Use a wide trifle dish so the eyes are visible from all sides.
- Scatter a few mint leaves in the gel like swamp weeds.
- Sit the dish on a fake cobweb runner, place a plastic skeleton hand beside it. The kids will squeal and then ask for seconds.
- For a dark table, set candles. The shine on the gel makes the eyes look alive.
Clean Keto Notes
- Full fat coconut milk and heavy cream give fat based calories. That helps satiety.
- Berries are used in a guarded way. Raspberries and strawberries have fewer net carbs per gram than many fruits.
- We skip refined sugar fully. Allulose is a simple choice for soft textures.
- Protein here is minimal. If you want more, serve with a spoon of whipped coconut cream mixed with a scoop of unflavored collagen peptides. It whips stable and tastes light.
Step-by-Step Recap
- Bloom gelatin for panna cotta.
- Warm coconut milk, cream, sweetener, and salt.
- Blend in cream cheese. Add vanilla and melted gelatin.
- Set blueberry and thin kiwi or strawberry disc in molds.
- Fill with panna cotta. Chill to set.
- Make berry gel with raspberries, strawberries, sweetener, lemon.
- Strain, melt in gelatin, cool to warm.
- Pour gel into dish, nest eyeballs, add more gel around.
- Chill. Serve cold.
Stick to those and you will get clean sets, bright color, and that silly Halloween vibe.
Little Story from My Kitchen
First year I tried this, I thought two packets of gelatin would help the gel hold better on a long car ride. My brother hit a speed bump and my “pond” turned into one large gummy slab with eyeballs trapped inside like fossils. Everyone had to saw with spoons. We still ate it, because sugar free or not, it tasted nice. But the joke all night was that I’d invented Halloween tile grout. The fix was simple: less gelatin, a little more water in the puree, and gentler heat. The next batch? Wobble city.
Serving Guide for Different Crowds
- Kids party: Use smaller cups, one eyeball per cup. Keep the gel thinner for easy spooning.
- Adults: Two eyeballs per portion looks dramatic. Offer a small bowl of extra berry gel on the side.
- Halloween movie night: Build in a big glass bowl. People scoop with a large spoon like punch.
- Bring-to-work treat: Use snap lid cups. Transport in a shallow box with ice packs under a towel.
Cost and Sourcing
Cans of coconut milk are usually the main cost. Buy full fat on sale and keep a stash in the pantry. Frozen berries are cheaper than fresh and work fine for the puree since you strain it. Sweetener stretches a long way. A silicone sphere tray is a once purchase and you’ll use it for many things, trust me: truffles, fat bombs, even regular ice spheres for cold brew.
Cleaning Up and Reuse
Silicone molds wash easy in warm soapy water. If the gel sticks to the sieve, soak it for 15 minutes, then push water through with the back of a ladle. Extra berry gel can be spooned into little ramekins and eaten plain, or folded into Greek yogurt for those in the house not strict keto.
Safety and Allergens
- Coconut is not a tree nut, but check guests’ allergies.
- Gelatin is animal based. For a vegetarian friend, you can try agar agar, though texture changes to more brittle. If you go that way, use less agar than gelatin and test a small batch first.
- Keep the dessert chilled. Leave out no more than 1 hour at a party table, then return to the fridge.
Why This Recipe?
It’s simple, bold, and solves a common Halloween gap: spooky desserts that aren’t pure sugar. The steps are clear with real timing and fixes. Photos help, of course, but the method alone gives you a repeatable result. You get a balance of sweet and tart, soft and firm, playful look-, and grown-up flavor. And because the sweetener is allulose and the fruit is restrained, you avoid that odd aftertaste some sugar free desserts carry.
Conclusion
Take your time on two moves: bloom the gelatin, and strain the berries. Those are the only spots where patience pays big. Everything else? It’s stirring, pouring, and chilling. The eyeballs don’t have to be perfect to look great. A little off center pupil makes them even more spooky. If one turns out cross eyed, place that one right in the front. People will laugh, then they’ll ask how soon they can get the recipe.
Bring this to your Halloween spread and watch folks circle the bowl. There’s always one person who says “I’m not sure I can eat that.” Then they do. Then they ask for a second spoonful. That’s the charm of this dessert. It looks wild, but it’s friendly to eat, friendly to blood sugar, and easy on the cook.
Happy haunting, and happy cooking.
PrintKeto Coconut Milk Panna Cotta Eyeballs in Berry Gel
Keto coconut milk panna cotta “eyeballs” set in red berry gel. Looks spooky, tastes smooth and light. Low sugar, low carb, easy to make ahead for Halloween night.
- Prep Time: 25 minutes active + 4–6 hours chilling
- Cook Time: 10 minutes
- Total Time: ~35 minutes active + chilling (about 5 hours total)
- Yield: 12 servings (12 eyeballs with berry gel) 1x
- Category: Halloween
- Method: No-bake, stovetop, chilled set
- Cuisine: American, Keto, Low-Carb
Ingredients
For the panna cotta eyeballs
-
2 cans full-fat coconut milk (13.5 oz each), well shaken
-
1 cup heavy cream (or coconut cream)
-
4 oz cream cheese, softened
-
3–4 tbsp powdered allulose (to taste)
-
2 tsp vanilla extract
-
Pinch salt
-
2 ½ tsp powdered gelatin
-
3 tbsp cold water (for blooming)
-
20–24 blueberries (pupils)
-
1–2 kiwis or 6 strawberries, thin slices cut into small discs (iris)
For the red berry gel
-
2 cups raspberries (fresh or frozen)
-
1 cup strawberries, hulled and chopped
-
¾–1 cup water
-
¼–⅓ cup allulose, to taste
-
1 tbsp lemon or lime juice
-
Pinch salt
-
2 ½–3 tsp powdered gelatin
-
3 tbsp cold water (for blooming)
Optional
-
1 tsp coconut extract (for stronger coconut scent)
-
Sugar-free chocolate, melted, to paint “veins”
Instructions
-
Bloom gelatin (panna cotta). Sprinkle 2 ½ tsp gelatin over 3 tbsp cold water. Let sit 5–10 min.
-
Warm base. In a pot, add coconut milk, heavy cream, allulose, and a pinch salt. Heat on medium-low until steamy and sweetener melts. Do not boil.
-
Blend smooth. Whisk in the softened cream cheese. Use a stick blender if lumpy.
-
Finish. Remove from heat. Stir in vanilla. Add bloomed gelatin and whisk until fully melted. Rest 5 minutes to cool slightly.
-
Prep molds. Place one kiwi or strawberry disc into each round silicone mold. Set a blueberry on top (smooth side up).
-
Fill and chill. Pour or pipe panna cotta over the fruit to fill. Tap to pop bubbles. Chill 3–4 hours, or until set.
-
Bloom gelatin (berry gel). Sprinkle 2 ½–3 tsp gelatin over 3 tbsp cold water. Sit 5–10 min.
-
Cook berries. In a clean pot, add raspberries, strawberries, ¾ cup water, allulose, lemon juice, and a pinch salt. Simmer 3–4 min.
-
Blend and strain. Blend smooth. Press through a fine sieve to remove seeds. Return puree to the pot; adjust sweetness and thickness with a little more water if needed.
-
Melt gelatin. Take off heat. Stir in bloomed gelatin until dissolved. Let cool to lukewarm (not hot).
-
Assemble. Pour a thin layer of gel into a wide dish (or cups). Chill 10 min to thicken a bit. Set the panna cotta eyeballs on top, iris up. Spoon more gel around them.
-
Set. Chill 2–3 hours until the gel holds a soft wobble.
-
Finish touches (optional). Brush thin chocolate “veins” on the eyes before adding gel, or swirl some into the gel while still a little warm.
-
Serve. Keep cold. Spoon into bowls. The eyes will “stare” back, then vanish fast.
Notes
-
Use full-fat coconut milk. Lite milk sets weak and tastes thin.
-
Allulose gives a softer set and no grit. Erythritol blends can crystalize later; sift very fine if using.
-
If fruit sinks, let the panna cotta cool an extra 3–5 min before pouring, or chill molds 10 min first.
-
If the gel gets too stiff, warm gently with a splash of water. Do not boil or it may not set right later.
-
Make ahead: panna cotta and gel hold 3–4 days in the fridge. Do not freeze (weeping happens).
-
Dairy-free path: swap heavy cream + cream cheese for 1 ½ cups total coconut cream and add ½–1 tsp extra gelatin in the panna cotta mix.
-
Serving idea: one eyeball per small cup for kids; two per bowl for adults.
-
Safety: keep chilled; set out no longer than 1 hour at a party table.
Nutrition
- Serving Size: 1 eyeball with gel
- Calories: 180 Sugar ~2 g (from berries and coconut) Sodium ~35 mg Fat ~17 g Saturated Fat ~12 g Unsaturated Fat ~4 g Trans Fat 0 g Carbohydrates ~6 g total Fiber ~2 g Protein ~3 g Cholesterol ~20 mg