This Traditional Serbian Koh is a light, airy semolina cake soaked in warm, vanilla-scented milk. A nostalgic Balkan dessert served chilled, it is made from simple ingredients and cherished across generations. Soft, sliceable, and refreshingly light, it’s the kind of recipe you’ll find handwritten in a grandmother’s notebook.

This koh recipe (also known as Vojvođanski Koh) is a rustic Serbian dessert that traces its roots to the kitchens of Vojvodina, a region known for blending Austro-Hungarian and Balkan culinary traditions. This classic cake is made by whipping eggs into an airy sponge and soaking it in hot, sweetened milk. There are no syrups or creams involved, just a simple milk soak that defines its unique texture. If you’ve tried my Apricot Swiss Roll, you’ll recognize that same light, fluffy structure created by perfectly whipped egg whites.
The name “koh” originates from the German word “koch,” meaning “to cook,” reflecting its historical influences. Although it is baked rather than cooked, the cake resembles old-world custard desserts with its soft bite and delicate structure. People sometimes compare it to tres leches or basbousa, but koh is lighter, simpler, and distinctly Serbian. It’s a dessert rooted in everyday tradition, something you’d find at casual Sunday lunches, summer get-togethers, or chilled in the fridge for whenever something sweet is needed.
Jump to:
Why You’ll Love This Recipe
- Pure Comfort in Every Bite: This airy semolina cake is light, tender, and soaked in warm, sweet milk, offering a cozy, nostalgic dessert that melts in your mouth and feels like a hug from the inside. If you love comfort recipes like Kačamak or Kuvani Griz, this one will feel instantly familiar.
- Simple Ingredients, Big Flavor: Using pantry staples like eggs, griz (semolina), and milk, koh transforms humble ingredients into an impressive, bakery-style dessert with a unique texture and richness. It has the same magic as a Balkan Rice Pudding, deeply satisfying with just a few ingredients.
- A Taste of Balkan Tradition: Perfect for those curious about authentic Serbian and Balkan desserts, this recipe brings a slice of old-world charm to your modern kitchen. Like my Summer Raspberry Cake, it’s soft, airy, and steeped in regional flavor.
- Easy to Make with Basic Tools: This recipe is beginner-friendly and doesn’t require any specialty equipment beyond a standard mixer. It relies on whipped egg whites for lift, with no need for baking powder or flour, making it both accessible and elegant.
Ingredients
- Griz (Semolina): This forms the base of the cake, giving it its signature texture and helping it absorb the sweet milk beautifully. Look for fine semolina labeled as “griz” in European grocery stores or international aisles. Regular fine semolina will also work.
- Eggs: Whipped into a light sponge, eggs give koh its height and airy structure, eliminating the need for baking powder. Use fresh, large eggs for the best volume and flavor. Room temperature eggs whip more easily and evenly.
- Vanilla Sugar: Adds a subtle aroma and flavor to the milk syrup that soaks into the cake. If you don’t have vanilla sugar, substitute it with a splash of vanilla extract or a small amount of vanilla syrup when heating the milk.
See recipe card for quantities.
Substitutions and Variations
- Add More Griz: Using 9 tablespoons instead of 8 creates a slightly denser, more sliceable structure while still maintaining the light sponge-like feel.
- Add a Spoonful of Flour: While not traditional, 1–2 tablespoons of flour can help firm the crumb slightly, a helpful tweak for those who want neater slices.
- Infuse the Milk: Add a strip of lemon zest, cinnamon stick, or clove to the milk as it warms for a subtly spiced variation.
- Sweeten the Milk to Taste: This recipe yields a medium to lightly sweet dessert. If you prefer a richer sweetness, add an extra tablespoon or two of sugar to the milk before pouring. Taste and adjust to your preference.
- Top with Fruit: While koh is traditionally served plain, fresh raspberries or poached apricots add brightness and visual contrast.
- Make Individual Servings: Bake the sponge in small ramekins or muffin tins and pour the milk over them. This is great for parties or plated desserts.
How to Make Traditional Serbian Koh
Step 1: Preheat the oven to 350°F (175°C). Lightly grease the bottom of a 12×7.5-inch enameled or metal baking dish. Do not grease the sides.
Step 2: Whip the egg whites in a stand mixer (image 1) on medium-high speed for 2–3 minutes (image 2). Gradually add sugar, one tablespoon at a time (image 3), and continue mixing until medium peaks form (image 4).
Step 3: Remove the mixer bowl and gently fold in the egg yolks (image 5) using a whisk until no yellow streaks remain (image 6).
Add griz (semolina) 2–3 tablespoons at a time (image 7), folding gently after each addition to keep the batter airy and well-incorporated (image 8).
Step 4: Pour the batter into the baking dish and smooth the top with a spatula (image 9). Bake for 28-30 minutes, or until the top is lightly golden (image 10).
Meanwhile, heat 5 cups of milk with 2 tablespoons of sugar and 1 packet of vanilla sugar. Bring to a light boil, then turn off the heat.
Slowly pour the hot milk over the cake through a fine mesh strainer, covering the surface and edges (image 11). Let rest at room temperature for 2 hours (image 12).
Step 5: Cover the dish with plastic wrap and refrigerate for at least 6–8 hours, or overnight for best results.
Step 6: Cut into individual pieces and enjoy chilled!
⭐ Pro Tip
Use room temperature eggs for improved volume. Cold eggs do not whip as effectively. Allowing them to sit out for 30 minutes before mixing enables the whites to reach their full volume, resulting in a lighter, more stable sponge texture.
Expert Tips and Tricks
- Use a Smaller Pan: Use a smaller pan, approximately a 12×7.5-inch baking dish, which allows the sponge layer to have more height, making it easier to soak up the milk evenly. A smaller dish helps create a thicker, sliceable structure that holds its shape after chilling and looks more impressive when served.
- Only Grease the Bottom: Lightly oiling just the bottom of your pan allows the batter to grip the sides as it rises. This encourages a more even lift and prevents the sponge from collapsing inward or shrinking as it cools.
- Fold, Don’t Stir: When adding yolks and griz (semolina) to the whipped egg whites, use a gentle folding motion instead of stirring. This helps preserve the volume of the meringue, keeping the final cake airy and light rather than flat or dense.
- Add Sugar Gradually: Whip the egg whites on medium-high speed and add the sugar slowly, one tablespoon at a time. This gradual incorporation helps build a glossy, stable meringue with medium peaks that retain their shape, creating the perfect sponge texture. This technique is also essential when making Šampita, another classic Serbian dessert that relies on perfectly whipped egg whites for its signature fluffy topping.
- Strain the Milk Before Pouring: After bringing the milk to a light boil and dissolving the sugar and vanilla sugar, let it cool slightly and stir occasionally to prevent a skin from forming. Just before pouring it over the cake, use a fine mesh strainer to catch any milk skin or solids. This ensures a smooth, clean soak and keeps the surface of your koh silky and delicate.
- Chill Overnight: Let the koh rest in the fridge for at least 6 hours. Overnight is best for complete absorption and optimal flavor.
🧑🍳 Recipe Notes From My Kitchen
For the best results, the pan you choose really matters. I tested this koh recipe in both a large tray and a smaller dish, and the smaller pan gave much better thickness and soaking structure. I now use a 12×7.5-inch enameled metal pan (Metalac) instead of a ceramic one. Ceramic didn’t bake the sponge as evenly, and the cake didn’t rise quite as well. The enameled metal distributed heat more efficiently and gave me a taller, fluffier base that soaked in the milk beautifully.
I first tested this recipe with 6 tablespoons of griz, and baked in a large pan, but the result was too airy and difficult to cut cleanly, even after chilling. This version, made with 8 tablespoons of griz and baked in a smaller enameled pan, held its shape much better after soaking and chilling. It was easy to slice without becoming dense or heavy. The texture stayed soft and delicate, with just the right amount of sweetness, balanced enough to serve on its own or with a spoonful of fruit.
Recipe FAQs
You can, but it won’t be the same. Semolina gives koh its distinct texture and milk-absorbing properties, while flour creates a heavier sponge.
No. Traditional koh relies entirely on well-whipped egg whites for its rise. No baking powder is needed or recommended.
This often happens when the pan is too large or the batter is overmixed, leading to a collapsed structure. Use a smaller baking dish and fold gently to keep the airiness. Also, refrain from greasing the sides of the pan. This allows the batter to grip and rise properly, helping the cake maintain its shape and preventing the center from sinking.
Stick to the traditional contrast: hot milk on a hot sponge. This allows the cake to absorb properly.
No, koh should be chilled for at least 6 hours before serving. It develops its signature texture and flavor during that time.
Absolutely. Koh actually tastes better when made ahead of time. Just soak it in the milk, refrigerate for at least 6 hours (ideally overnight), and serve cold. This allows the milk to absorb into the sponge and develop a deeper flavor fully.
Related Traditional Serbian Desserts
If you enjoyed Koh, don’t miss these classics:
If you tried this Koh Recipe or any other recipe on my website, please leave a 🌟 star rating and let me know how it goes in the 📝 comments below!
Recipe
Traditional Serbian Koh (Milk-Soaked Semolina Cake)
Equipment
- small enameled dish
- stand mixer
- medium-size pot
- spatula
- ladle
Ingredients
Sponge Cake
- 6 eggs (separated egg yolks from egg whites)
- 6 tablespoon cane sugar
- 8 tablespoon griz (semolina)
Milk Syrup
- 5 cups milk
- 2 tablespoon cane sugar
- 1 bag vanilla sugar
Instructions
- Preheat the oven to 350°F (175°C). Lightly grease the bottom of a 12×7.5-inch enameled or metal baking dish. Do not grease the sides.
- Whip the egg whites in a stand mixer on medium-high speed (speed four on KitchenAid stand mixer) for 2–3 minutes. Gradually add sugar, one tablespoon at a time, and continue mixing until medium peaks form.
- Remove the mixer bowl and gently fold in the egg yolks using a whisk until no yellow streaks remain.
- Add griz (semolina) 2–3 tablespoons at a time, folding gently after each addition to keep the batter airy and well incorporated.
- Pour the batter into the prepared baking dish and smooth the top with a spatula. Bake for 30 minutes, or until the top is lightly golden. The cake will puff up while baking and settle slightly as it cools.
- While the cake bakes, heat 5 cups of milk in a saucepan. Add 2 tablespoons of sugar and 1 packet of vanilla sugar. Bring to a light boil, then immediately turn off the heat.
- After turning off the heat, stir the milk occasionally to prevent a skin from forming as it cools slightly.
- When ready to soak the cake, pour the hot milk slowly over the entire surface of the cake through a fine mesh strainer to catch any milk skin. Make sure to reach the edges. Optionally, poke a few small holes with a skewer for better absorption.
- Let the cake sit at room temperature for 2 hours, then cover the dish with plastic wrap. Transfer it to the refrigerator and chill for at least 6 hours or overnight before serving.
Notes
- Only grease the bottom of the pan, not the sides. This helps the sponge rise evenly and prevents the center from collapsing.
- Whip egg whites to medium peaks, then gently fold in the yolks and griz (semolina) to preserve the airy structure.
- Use a smaller baking dish (around 12×7.5″) for a taller sponge and better milk absorption.
- Pour hot milk over hot cake for best absorption. Slowly pour the sweetened milk over the entire surface, ensuring it reaches the edges.
- Strain the milk before (or while) pouring to remove any skin or solids, keeping the surface silky and smooth.
- Let the cake cool at room temperature for about 2 hours, then cover it with plastic wrap and refrigerate for at least 6 hours, or overnight, for the best texture and flavor.
Nataša
So easy and nostalgic! This Serbian Koh was light, perfectly soaked, and chilled into soft slices just like the ones my grandma used to make. A total comfort dessert! (I am the author of this recipe)