Indonesian Sticky Rice with Coconut Milk (Ketan)

Updated November 4, 2026

Total time
5 hr 5 min
prep 15 min · cook 50 min
Serves
4
portions as written

Jump to recipe

Indonesian Sticky Rice with Coconut Milk (Ketan)

Indonesian sticky rice, often called ketan, is glutinous rice steamed until tender and finished with coconut milk, salt, and fragrant pandan. This simple version is gently savory rather than heavily sweet, so it can be served with fruit, palm sugar, or savory dishes; family and regional versions vary in seasoning and toppings.

Ingredients

  • 2 cups (400 g) glutinous rice, also sold as sweet rice or sticky rice
  • About 4 cups (1 L) cold water, for soaking
  • 1 cup (240 ml) full-fat coconut milk, well stirred
  • 1/2 cup (120 ml) water
  • 3/4 teaspoon (4 g) fine salt
  • 2 fresh pandan leaves (about 20 g), tied in a knot; or 1/2 teaspoon pandan extract
  • 1/2 cup (40 g) unsweetened shredded coconut, optional, for topping
  • 2 tablespoons (30 g) shaved palm sugar, optional, for serving

Instructions

  1. Rinse and soak the rice. Put the glutinous rice in a bowl and cover it with cold water. Swish it around with your hand, pour off the cloudy water, and repeat three or four times, until the water is less cloudy. Cover the rice with about 4 cups (1 L) fresh cold water and soak it for 4 hours at room temperature. If soaking overnight, cover and refrigerate it. Drain very well in a fine-mesh sieve before steaming.
  2. Set up the steamer. Add water to a steamer pot, making sure the water will not touch the rice basket. Bring it to a steady simmer. Line the steamer basket with a clean damp cheesecloth or a piece of perforated parchment, leaving enough room for steam to circulate. Spread the drained rice in an even layer. If using a bamboo steamer, set it over the pot only after the water is simmering.
  3. Steam the rice until nearly tender. Cover and steam for 25 minutes. At about the halfway point, carefully lift the lid and turn the rice from the edges toward the center with a spoon or spatula so it cooks evenly. Close the lid promptly to keep the steam in. The grains should look plump and feel tender on the outside, though they may still be slightly firm in the center.
  4. Warm the coconut mixture. While the rice steams, combine the coconut milk, 1/2 cup (120 ml) water, and salt in a small saucepan. Add the knotted pandan leaves. Warm over low heat for about 5 minutes, stirring, just until the salt dissolves and the mixture is steaming. Do not boil it hard, which can cause the coconut milk to separate. If using pandan extract instead of leaves, stir it in after warming and use the amount recommended for the product if it differs from 1/2 teaspoon.
  5. Season and rest the rice. Transfer the hot rice to a heatproof bowl. Remove the pandan leaves from the coconut mixture, then drizzle the liquid over the rice in two or three additions, folding gently after each addition. The rice should look moist but not swim in liquid. Cover the bowl and leave it for 10 minutes so the grains absorb the coconut mixture.
  6. Steam again to finish. Return the rice to the lined steamer basket and spread it evenly without pressing it down. Steam, covered, for 15 minutes. Taste a grain carefully once it is cool enough to handle: it should be soft, cohesive, and pleasantly chewy, with no hard center. If it is still firm, sprinkle 1 tablespoon (15 ml) hot water over the rice and steam for another 5 minutes, then check again.
  7. Prepare an optional topping and serve. For toasted coconut, warm a dry skillet over medium-low heat and stir the shredded coconut for 3 to 5 minutes, until evenly golden and fragrant; transfer it to a plate so it stops browning. Spoon the rice into a bowl or press it lightly into a small serving dish. Serve warm with toasted coconut and shaved palm sugar if desired.

Tips

  • Choose the right rice. Look for glutinous rice, sweet rice, or sticky rice at an Asian grocery store or in the international aisle. It is not the same as ordinary short-grain rice, jasmine rice, or sushi rice; those varieties will not give the same cohesive, chewy texture. White glutinous rice is the best choice here. Black glutinous rice needs a longer soak and different steaming time, so it is not a direct swap.
  • Do not skip the soak. Soaking helps the grains cook evenly all the way through in a steamer. If the rice is soaked for less than 4 hours, it may need more steaming, and the outside can become soft before the center is ready. For a longer soak, refrigerate the covered bowl rather than leaving it out overnight.
  • Use coconut milk, not sweetened cream of coconut. Full-fat canned coconut milk gives the rice a rounded coconut flavor and enough richness to coat the grains. If you only have light coconut milk, it will work but produce a less creamy result. If pandan leaves are unavailable, pandan extract is a practical substitute; it adds a similar aroma but does not provide the same subtle leaf fragrance. A small strip of lime zest can add freshness, though it tastes different.
  • Keep the steam steady and handle the grains gently. A simmer is enough; a vigorous boil can empty the pot or send splashes into the rice. Check the steamer water if the pot is steaming for a long time, adding hot water if needed. Fold rather than mash when adding the coconut mixture, since crushed grains can turn pasty.

Serving Suggestions

Serve ketan warm as a snack, a simple dessert, or a side dish. For a sweet plate, add the toasted coconut and palm sugar, then offer ripe mango, banana, or jackfruit alongside it. A spoonful of coconut milk lightly sweetened with palm sugar can be served separately for people who want a softer, sweeter finish. Keep the topping modest at first: the rice is already rich and pleasantly chewy, and too much sauce can make it heavy.

For a savory meal, leave out the palm sugar and pair the rice with grilled or roasted chicken, vegetables, or a strongly seasoned Indonesian-style dish. Its mild coconut flavor works as a gentle contrast to spicy sambal or richly flavored sides. If serving a group, shape individual portions with a lightly oiled cup or small bowl, then turn them onto plates. Do not pack the rice tightly; a loose press helps it hold its shape while keeping the texture tender.

Variations

More dessert-like ketan: Stir 1 to 2 tablespoons (12 to 25 g) granulated sugar into the warm coconut mixture with the salt. This makes the rice sweet throughout rather than relying on palm sugar at the table. Start with the smaller amount if serving it with already-sweet fruit.

Richer coconut flavor: Replace 2 tablespoons (30 ml) of the water with additional coconut milk. The result will be a little creamier, so pour the mixture over the rice gradually and stop if the grains look saturated. Avoid adding a large amount of extra liquid, which can make the finished rice wet instead of cohesive.

Toasted coconut topping: The optional shredded coconut in the ingredient list makes a quick topping. For a more traditional-style toasted coconut flavor, cook it slowly and stir often; it can go from pale to scorched quickly. Unsweetened coconut keeps the topping from making the whole serving overly sweet.

Simple pandan-free version: Leave out the pandan if you cannot find leaves or extract. The coconut rice will still be fragrant and satisfying, just without pandan’s distinctive grassy, vanilla-like aroma. A tiny pinch of ground cardamom is another possible aromatic accent, but it gives the dish a different character rather than imitating pandan.

Storage and Reheating

Let leftover rice stop steaming, then transfer it to a shallow airtight container and refrigerate it within 2 hours of cooking. It keeps for 3 to 4 days in the refrigerator. Sticky rice firms up as it chills, so do not judge its final texture while it is cold. Store toasted coconut and other toppings separately so they stay crisp.

To reheat a portion, sprinkle it with 1 to 2 teaspoons (5 to 10 ml) water, cover it, and microwave in short intervals until steaming hot, stirring or turning the portion once if practical. You can also re-steam it in a covered, heatproof dish for about 5 to 10 minutes, adding a small splash of water first. Reheat only the amount you plan to eat, and do not leave cooked rice at room temperature for more than 2 hours. For longer storage, freeze portions in airtight containers for up to 1 month for best texture; thaw overnight in the refrigerator and reheat with a little water.

Frequently Asked Questions

Is Indonesian sticky rice the same as regular rice?
No. Ketan is made with glutinous rice, which becomes sticky and chewy when cooked. Despite its name, glutinous rice does not contain gluten; the word describes its sticky texture. Regular long-grain rice will remain separate and will not make this recipe as written.

Do I really need to soak the rice for 4 hours?
For this steaming method, yes, a 4-hour soak is a reliable way to help the grains cook evenly. An overnight soak is also fine if you refrigerate it. If you are short on time, soaking for less may still work, but expect to steam longer and check for a firm center before serving.

Can I cook this in a rice cooker?
A rice cooker’s standard setting can produce a wetter, softer result because it cooks the rice in a closed pot rather than in steam. For the closest texture, use the steamer basket method above. If your cooker has a dedicated glutinous-rice setting, follow its water guidance and check the rice before adding the coconut mixture; the exact liquid needs vary by cooker.

Why did my sticky rice turn mushy?
Common causes include using the wrong type of rice, adding too much liquid, or compressing the grains while mixing. Drain the soaked rice thoroughly, measure the coconut milk and water, and fold gently. If the rice is already soft, avoid adding more liquid; spread it loosely and serve it warm rather than steaming it further.

Can I make the rice ahead?
Yes. You can soak the rice in the refrigerator overnight, or cook the finished rice earlier the same day and chill it promptly. Refrigerated sticky rice becomes firm, so reheat it covered with a small splash of water just before serving. For the freshest texture, toast the coconut topping shortly before serving and add it after reheating.

What does pandan contribute, and what can replace it?
Pandan gives the coconut rice a sweet, leafy aroma that is familiar in many Southeast Asian desserts and snacks. Fresh leaves are not always easy to find, so pandan extract is a useful substitute; use a restrained amount because extracts vary in strength. Without either, the rice will still work, but its aroma will be simpler.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).