A beloved Peranakan-style steamed cake from Singapore, this colorful treat is built one thin layer at a time, each gently set before the next is poured on top. The result is a soft, springy cake with a light coconut fragrance, tinted in cheerful pastel stripes and finished with a glossy custard top.
Prep Time25 mins
Cook Time75 mins
Total Time100 mins
Servings8
Yield1 loaf (8 servings)
Nutrition Facts
Per serving (estimated)
- 310 kcalCalories
- 12 gFat
- 9 gSaturated Fat
- 46 gCarbs
- 1 gFiber
- 25 gSugar
- 4 gProtein
- 85 mgSodium
- 140 mgPotassium
- 28 mgCalcium
- 1.2 mgIron
- 1 mgVitamin C
- 35 mcgVitamin A
Ingredients
For the batter
- 200 g rice flour
- 50 g tapioca flour
- 1/4 tsp fine salt
- 200 g caster sugar
- 400 ml thick coconut milk
- 2 large eggs, lightly beaten
- 60 ml pandan juice (blended from 10 screw-pine leaves with 2 tbsp water and strained)
- 1 tsp vanilla extract
For coloring and finishing
- 1/4 tsp rose pink food gel
- 1/4 tsp green pandan paste
- 1/4 tsp yellow egg yolk color gel
- 2 tbsp melted unsalted butter, for brushing
For the pan
- 1 (20 cm) square steaming pan, about 5 cm deep
- Banana leaves or parchment, to line
- Neutral oil, for greasing
Directions
- Line the bottom and sides of a 20 cm square pan with banana leaves or parchment, then lightly grease. Bring a wide wok or steamer of water to a steady rolling boil and set a rack inside.
- Whisk the rice flour, tapioca flour, and salt in a bowl. In a separate large bowl, dissolve the sugar in the pandan juice, then whisk in the coconut milk, eggs, and vanilla until smooth. Sift the dry ingredients into the wet mixture and whisk until completely lump-free, then strain through a fine sieve.
- Divide the batter into four small jugs or bowls. Tint one plain, one pink, one green, and one yellow, stirring each gently with a separate spoon. Keep the batter at room temperature and stir gently between layers so the starch does not settle.
- Pour about 60 ml of plain batter into the prepared pan, cover, and steam over briskly boiling water for 4 to 5 minutes, until the surface looks set and matte. Add a thin layer of pink batter and steam another 4 minutes. Continue alternating green, yellow, and plain, steaming each layer the same way, until all the batter is used (about 14 to 16 layers total).
- For the final glossy top layer, mix 2 tablespoons of batter with the melted butter and a drop of yellow color, pour over the top, and steam for 8 to 10 minutes, until a skewer inserted in the center comes out clean.
- Lift the pan from the steamer and let the cake cool completely in the pan, about 1 hour. Run a thin knife around the edges, invert onto a board, peel off the lining, and re-invert so the colored top faces up.
- Trim the edges cleanly with a sharp knife, then cut into 8 rectangles or diamonds. Serve at room temperature with hot tea or kopi.
Cook’s Notes
- Stir the batter gently before pouring each layer because rice flour settles quickly and uneven batter causes layers to slide or crack.
- Keep the water at a hard boil for every layer; a sudden drop in heat leaves a gummy, uncooked patch between layers.
- Traditional kueh lapis uses very small amounts of color to keep the coconut flavor dominant, so do not overdo the gels.
- For a richer aroma, replace half the pandan juice with an extra 30 ml of coconut cream and add 1 tablespoon of condensed milk to the batter.
- Use a flat-bottomed metal pan rather than glass or ceramic so each layer cooks evenly and releases cleanly.










