Color rising from the steam: a sticky rice cake for celebration days

When you lift the steamer lid, the sweet smell of coconut milk comes out first. Inside the round pan are layers of yellow, white and purple. While hot they still tremble unsteadily, but as they cool the glutinous rice flour sets, and when the knife goes in the boundaries between the colors appear cleanly.
Sapin-sapin is one of the Philippines' glutinous rice sweets, the kakanin. In Tagalog "sapin" refers to a layer or a lining, and the repeated name Sapin-Sapin is easiest to remember as "layer upon layer." A batter of glutinous rice flour, coconut milk and sugar is divided in three, and the color and aroma of ube, langka and coconut are steamed and set in turn.
What is hard to get right in a home kitchen is not making the colors bright. Pour the next layer while the one before can still flow and the boundary gets muddy; steam too long and the layers separate. This article is a home version for one 20 cm round pan, going step by step by heat and by how firm each layer is.
In English-language sources sapin-sapin is sometimes described as a Filipino layered sticky rice cake. Ube is purple yam, langka is jackfruit, and latik is the brown bits left when coconut milk is cooked down.
Where sapin-sapin sits at a Filipino table

Looking only at the ingredient list, sapin-sapin is "a sweet steamed glutinous rice flour cake." But at a Filipino table it sits a little closer to daily life. Kakanin is a large family of rice sweets and snacks, such as suman, puto, kutsinta and biko, appearing at breakfast, as snacks, at feasts, on cemetery visits and after church events. Among them, sapin-sapin suits gatherings because of its color.
The three layers differ by region and by shop. The easiest-to-follow arrangement is purple from ube, yellow from langka and white from coconut, but some shops add green pandan, white macapuno or a chocolate layer. In local homes extracts are sometimes used, but to keep a defined flavor, putting ube halaya in the purple layer, chopped jackfruit in the yellow layer and coconut in the white layer means it does not end as mere color-coding.
When recreating it outside the Philippines, you do not need every ingredient exactly as in the Philippines. What to protect is the stickiness of glutinous rice flour and coconut milk, the method of steaming one layer at a time, and the toasty note of latik. If you have no ube halaya, use purple sweet potato paste; if you have no canned langka, a little canned yellow peach or pumpkin paste is less likely to break the batter than mango. On days you have no macapuno, do not force a filling into the white layer; leave it cleanly as a coconut-only layer.
Southeast Asia has layered steamed sweets such as kue lapis of Indonesia and Malaysia, kanom chan of Thailand and bánh da lợn of Vietnam. Sapin-sapin belongs to this family while carrying a Filipino aroma through the combination of ube and latik. Even though it looks close to Japanese uiro, when you eat it the fat of coconut and the stickiness of glutinous rice flour come to the front, so the sweetness spreads in a different direction from a wagashi.
Ingredients and how to think about shopping

This makes one 20 cm round pan, 8 pieces. Because it has height, use a pan at least 5 cm deep. If you only have a shallow pan, use a 22 cm pan and make the layers thinner.
This recipe uses dairy and coconut. If you replace the condensed milk with a plant-based one, sugar content and moisture vary by product, so if the batter is loose add glutinous rice flour 1 tbsp at a time. After steaming, covering it while still steaming lets water collect on the surface, so store only after it has cooled completely.
What is worth looking for when shopping is glutinous rice flour, coconut milk and a steamer with steady steam. Ube halaya and canned langka can sometimes be found at Asian grocers, but for anything you cannot find reliably, rely on the substitutes in the text rather than hunting for it.
Glutinous rice flour is the base of the texture. With ordinary rice flour you will get layers, but not the chewy, springy bite of sapin-sapin.
Coconut milk gives the batter its aroma and fat. Replace it with cow's milk and only the glutinous rice flour comes to the front, and the round aroma typical of Filipino kakanin thins out.
The steamer is the tool that keeps the layer boundaries clean. With a microwave the edges and center cook unevenly, so this article does not recommend it.
Method: set each layer before adding the next
With sapin-sapin, the waiting matters more than the mixing time. Do not hurry; pour the next layer only after the surface of each layer no longer flows.
Where it tends to go wrong and how to recover

The failures of sapin-sapin show in how it looks. If the layers bleed, you poured the next one while the previous layer could still flow. Next time steam until the surface goes matte and does not ripple much when you shake the pan. A batch that bled is fine to eat; chill it well before cutting and it breaks less.
If the center is raw, suspect thickness before heat. If the skewer comes out with white liquid on it, put the whole pan back in the steamer and add 5 minutes at a time over medium heat. If the surface is dry but the center is raw, the pan is too deep or the batter too heavy. Next time use a 22 cm pan with the same amounts, or add 1 tbsp water.
| State | Cause | Fix |
|---|---|---|
| Layers mix | Lower layer undercooked, or poured too forcefully | Do not go by 10 minutes; steam longer until it does not flow. Pour the next layer along the back of a spoon |
| Many holes in the surface | Drops from the lid, heat too high | Use a lid wrapped in a towel. Lower from high to medium-high heat |
| Powdery center | Flour lumps, batter too heavy | Strain the batter. Crush shiratamako before use |
| Falls apart when cut | Not cooled enough | Chill at least 1 hour in the refrigerator and cut with a wet knife |
| Latik is bitter | Cooked too long after it colored | Take it out at a light golden brown, allowing for residual heat |
Regional differences and substitute ingredients

The colors of sapin-sapin are not always limited to three. In Manila bakeries purple, white and yellow are the easy standard, but in the Visayas and in home versions you may find green pandan, white macapuno, chocolate-colored and pink layers. The more colors, the more steaming rounds, so three layers are plenty for a first try.
Ube is the Philippines' purple yam, and its aroma is a little different from beni imo or Japanese purple sweet potato. Ube halaya is easiest to use, and if you use purple sweet potato paste, avoid products with a lot of water. When using purple sweet potato powder, adding the powder straight in makes lumps, so dissolve it in 2 tbsp of the batter first and then return it. Beet powder can supply color alone, but the flavor moves away from sapin-sapin.
Langka is jackfruit. Canned jackfruit in syrup is sweet and strongly scented, so chop it and blot off the liquid before mixing it in. Mango may seem close in aroma, but it releases water when heated and loosens the layer. Just to keep the yellow, 30 g pumpkin paste with a little turmeric is more stable.
Macapuno is a mutant coconut flesh, sometimes sold as thin strands in jars. If you cannot find it, do not hunt for it; rehydrate coconut flakes in hot water and put them in the white layer. Even a white layer without any filling works well enough if the aroma of coconut milk is there.

Cutting, storing and serving

Sapin-sapin is a sweet to cut after cooling, not freshly steamed. While hot, the space between layers is soft, and when the knife goes in the purple is dragged into the white. Chill it 1 hour in the refrigerator and take it out 20 minutes before cutting, and the cross-section shows well and it is not too hard to eat.
Storage is about 3 days in the refrigerator. Wrap each piece in plastic wrap and put in a container. You can freeze it for up to 2 weeks, but the surface dries a little after thawing. To eat, microwave a refrigerated piece at 600 W for 10 seconds; for a frozen piece, thaw overnight in the refrigerator and microwave at 600 W for 15 seconds. Overheating loosens the layers, so stop when it is just barely soft.
At the table, strong coffee, unsweetened tea or hot chocolate go well. In a Filipino menu, serving it after a sweet-sour sinigang or an adobo (in Japanese) with its lingering soy and vinegar aroma keeps it from feeling heavy. For reading alongside other kakanin, kutsinta with its strong brown sugar aroma, and puto, closer to a steamed cake, are also close entry points.

Frequently asked questions

Can I make it with regular rice flour instead of glutinous rice flour?
Not recommended. Regular rice flour alone will set, but it will not give the sticky chew of sapin-sapin. If you do use it, do not replace all of it; keep to 260 g glutinous rice flour and 40 g regular rice flour, and the texture breaks down less.
What if I do not have ube halaya?
You can substitute 70 g purple sweet potato paste. If the paste is watery, add 1 tbsp glutinous rice flour to the purple layer only. With purple sweet potato powder, dissolve 10 g in 2 tbsp of the batter before adding.
Can I make the color paler?
No problem. Layers that are distinct matter more than color. Without extracts the purple and yellow are pale, but if the flavors of ube, jackfruit and coconut are distinct it is enough for a home version.
Can I make it without a steamer?
Yes, if you put a steaming rack in a large pot. Keep the bottom of the pan above the water, cover, and steam over medium-high heat. A microwave tends to cook the center and edges unevenly and bleed the layers, so this recipe does not use one.
Can I make it vegan?
Yes, if you replace the condensed milk with coconut condensed milk. Sweetness and moisture vary by product, so if the batter is loose add glutinous rice flour 1 tbsp at a time. The latik can be made with coconut cream alone.
Can I make it ahead?
It suits being made the day before. Cool it completely, wrap in plastic wrap and refrigerate. On the day, take it out to room temperature 20 minutes before cutting, and scatter the latik afterward to keep its aroma.














