Sapin-Sapin
Watch the full recipe

See every step.

Play the complete Kubo Cooks video directly on this page.

Player not loading? Watch on YouTube ↗

Discover the dish

About Sapin-Sapin

Sapin-sapin is a colorful Filipino kakanin made by steaming layers of sticky rice batter one on top of another. Its name comes from the word sapin, referring to a layer or covering.

The familiar purple, white, and yellow layers can represent different flavors depending on the recipe. Some versions use ube, coconut, and langka, while others rely on extracts and food coloring.

In this version, the purple layer gets its color and flavor from ube extract. The white layer remains plain, while the yellow layer uses food coloring. All three share the same coconut and vanilla base, giving the finished dessert a consistent flavor and texture from top to bottom.

It is finished with two coconut toppings: homemade latik and lightly toasted desiccated coconut. The latik here refers to the browned coconut curds that form when coconut cream is slowly cooked until its oil separates.

The Kubo Cooks method

Why This Recipe Works

Glutinous rice flour provides the signature soft and chewy texture, while regular rice flour gives the layers a little more structure. Using both prevents the sapin-sapin from becoming too sticky or difficult to slice.

Coconut cream supplies richness and enough liquid to hydrate the flour. Sweetened condensed milk adds sweetness, creaminess, and additional body without requiring much extra sugar in the batter.

Straining the batter removes stubborn flour lumps and creates smoother layers. Dividing it evenly also helps the three layers cook at a similar rate and gives the finished sapin-sapin a more balanced appearance.

Each layer is steamed until set before the next portion is added. This keeps the colors from blending together while allowing the layers to bond into one cake.

The purple batter goes into the pan first. After the sapin-sapin is unmolded and turned over, that first layer becomes the top.

Homemade latik provides toasted coconut flavor and a slightly crisp topping. Its rendered coconut oil is also useful for greasing the pan, helping the sapin-sapin release more cleanly once cooled.

What to know

Ingredient Notes

Glutinous rice flour
Also sold as sticky rice flour or sweet rice flour. Despite its name, it does not contain gluten. Ordinary rice flour cannot replace it because it will not produce the same chewy texture.
Rice flour
Use regular rice flour, not another measure of glutinous rice flour. It gives the layers more structure and balances the stickiness of the batter.
Coconut cream
Divided between the batter and the latik. Stir or whisk it first if the contents of the can have separated.
Sweetened condensed milk
Sweetens the batter while adding richness and body. Check the can weight because package sizes can vary.
Vanilla extract
Mixed into the base batter so all three layers have a light vanilla aroma.
Ube extract
Provides both flavor and purple color. Strength varies between brands, so the final shade may differ.
Yellow food coloring
Used for the yellow layer in this version. It adds color but does not provide a separate flavor.
Desiccated coconut
Toast gently until lightly golden. It can burn quickly once it begins to color.
White sugar
Mixed with the toasted desiccated coconut for a lightly sweet topping.
Make it your own

Substitutions

Coconut cream
Full-fat coconut milk can be used in the batter, although the finished sapin-sapin may taste lighter and have a softer texture. Coconut cream or fresh kakang gata is still the better choice for making latik.
Ube extract
Use a combination of ube flavoring and purple food coloring according to the product directions. Ube halaya is not a direct substitute because it changes the thickness of the batter.
Yellow food coloring
Leave it out for another plain layer, or use a small amount of langka flavoring with yellow coloring for a different variation.
Vanilla extract
It can be omitted if you prefer the coconut and ube flavors to stand on their own.
Desiccated coconut
Freshly grated mature coconut can be toasted instead. Watch it closely and refrigerate any leftovers because fresh coconut spoils sooner.
Sweetened condensed milk
There is no simple measure-for-measure substitute. Replacing it with milk and sugar changes both the liquid level and sweetness of the batter.
Sapin-Sapin process photo 1
Sapin-Sapin process photo 2
Sapin-Sapin process photo 3
Gallery photos 1–3 of 6
From my kitchen

Kubo Cooking Notes

Strain the batter

Glutinous rice flour can leave small lumps even after thorough whisking. Passing the batter through a fine-mesh strainer gives the finished layers a smoother texture.

Divide the batter evenly

Weighing the three portions is the easiest way to create layers of similar thickness. If you are dividing by eye, use identical bowls and compare their levels before adding the colors.

Stir before pouring

Rice flour can settle while the other layers are steaming. Stir each bowl gently before pouring it into the pan so the flour is evenly distributed again.

Let every layer set

The surface should appear firm and should not leave wet batter on a lightly touched spoon or spatula. If the previous layer is still liquid, the next color can sink into it and blur the separation.

The first two layers only need to become firm enough to support the next one. Give the final layer enough time for the entire cake to cook through.

Pour gently

Hold the bowl close to the surface and pour slowly. You can also pour the batter over the back of a spoon to soften its impact on the layer underneath.

Control condensation

Wrap the steamer lid with a clean kitchen towel so condensed water does not drip onto the batter. Keep the loose ends of the towel safely away from the flame.

Watch the steamer water

Sapin-sapin requires a fairly long steaming time. Check the water between layers and add more hot water when needed so the steamer does not run dry.

Cool before unmolding

Warm sapin-sapin is still very soft and can stretch or tear. Let it cool completely before loosening the edges and turning it onto a serving plate.

Watch the latik closely

Coconut curds darken quickly near the end. Lower the heat and stir more frequently once the oil begins to separate. Remove the curds when they are golden brown because they continue cooking briefly in the hot oil.

Plan ahead

Make-Ahead, Storage, and Reheating

Plan ahead: The latik and toasted coconut topping can be prepared a day ahead. Keep them in separate covered containers so the toasted coconut remains dry. The complete sapin-sapin can also be steamed a day before serving. Let it cool completely before covering and refrigerating it. Add the toppings closer to serving time for better texture.

Storage: Keep leftover sapin-sapin in a covered container in the refrigerator and consume within three days. Store extra latik and toasted coconut separately. This prevents the toppings from absorbing moisture and becoming soft.

Freezing: Freezing is possible, although the layers may become slightly firmer or less even after thawing. For longer storage, freeze individual slices without the toppings in a freezer-safe covered container. Consume within one month for the best quality. Thaw overnight in the refrigerator before reheating.

Reheating: Let refrigerated sapin-sapin come closer to room temperature before serving, or steam it briefly until soft. Individual slices can also be microwaved in short intervals. Avoid overheating them because the edges can become tough. Add the latik and toasted coconut after reheating.

Bring it to the table

Serving Suggestions

  • Serve at room temperature or slightly warm.
  • Add the latik and toasted coconut shortly before serving.
  • Cut into wedges using a lightly greased knife to keep the layers neat.
  • Serve as merienda or as part of a larger kakanin spread.
  • Pair with coffee, tea, or hot tablea.

Ingredients

For the Sapin-Sapin

  • 240 g glutinous rice flour (about 2 cups)
  • 120 g rice flour (about 1 cup)
  • 600 ml coconut cream
  • 377 g sweetened condensed milk
  • 1 tsp vanilla extract
  • 1 tsp ube extract
  • 1 tsp yellow food coloring

For the Toppings

  • 200 ml coconut cream, for the latik
  • ¼ cup desiccated coconut
  • 1 Tbsp white sugar

How to Make It

Make the Latik

  1. Pour 200 ml coconut cream into a pan.
  2. Cook over low to medium heat, stirring occasionally, until the oil separates and the coconut solids turn golden brown.
  3. Strain the latik. Keep both the browned coconut curds and the rendered coconut oil for later.

Prepare the Toasted Coconut

  1. Place the desiccated coconut in a clean, dry pan.
  2. Toast over low heat, stirring regularly, until lightly golden.
  3. Add the white sugar and stir until evenly combined. Transfer the topping out of the hot pan and set aside.

Make the Batter

  1. Combine the glutinous rice flour and regular rice flour in a large bowl.
  2. Add 600 ml coconut cream and the sweetened condensed milk.
  3. Whisk until the batter is smooth, then stir in the vanilla extract.
  4. Pass the batter through a fine-mesh strainer to remove any remaining lumps.
  5. Divide the batter evenly among three bowls.
  6. Leave one portion plain. Mix the ube extract into the second portion and the yellow food coloring into the third.

Steam the Sapin-Sapin

  1. Prepare the steamer and wrap the lid with a clean kitchen towel to catch condensation.
  2. Lightly grease the steaming pan with some of the reserved coconut oil.
  3. Stir the purple ube batter, pour it into the pan, and steam until the surface is set.
  4. Stir the plain batter and gently pour it over the purple layer. Steam again until set.
  5. Stir the yellow batter and pour it over the plain layer.
  6. Continue steaming until the final layer and the center of the sapin-sapin are completely cooked.
  7. Check the steamer water as needed during cooking and add more hot water if it begins to run low.

Cool and Finish

  1. Remove the pan from the steamer and allow the sapin-sapin to cool completely.
  2. Loosen the edges carefully, then turn it onto a serving plate so the purple layer is on top.
  3. Brush the surface lightly with reserved coconut oil.
  4. Top with the latik and toasted coconut mixture.
  5. Cut into 8 slices and serve.
Kubo Tips
  • Make sure each layer is firm before adding the next one so the colors remain distinct.
  • Whisk or strain the batter well to remove flour lumps before dividing it into portions.
  • Cover the steamer lid with a clean kitchen towel to prevent condensation from dripping onto the Sapin-Sapin.
  • Let the Sapin-Sapin cool completely before removing it from the pan and slicing.
  • Keep the heat moderate while making the latik so the coconut solids brown evenly without burning.