A fragrant coastal side dish from Tanzania and Zanzibar, this coconut rice is simmered slowly with onions, garlic, and warm whole spices until each grain is tender and infused with rich coconut flavor. It pairs beautifully with grilled fish, curry, or stewed meats, soaking up sauces without losing its delicate, separate texture. The toasted spice base gives the dish its signature aroma while the coconut milk lends a creamy, gently sweet finish.
Prep Time10 mins
Cook Time25 mins
Total Time35 mins
Servings4
Yield4 generous servings
Nutrition Facts
Per serving (estimated)
- 480 kcalCalories
- 22 gFat
- 16 gSaturated Fat
- 60 gCarbs
- 4 gFiber
- 3 gSugar
- 8 gProtein
- 380 mgSodium
- 280 mgPotassium
- 35 mgCalcium
- 3 mgIron
- 2 mgVitamin C
- 5 mcgVitamin A
Ingredients
For the aromatics
- 1 tablespoon neutral oil
- 1 small yellow onion, finely chopped
- 2 garlic cloves, minced
- 1 teaspoon grated fresh ginger
For the rice and whole spices
- 2 cups basmati rice
- 1 cinnamon stick
- 4 green cardamom pods, lightly crushed
- 2 whole cloves
- 1 bay leaf
For the cooking liquid
- 1.5 cups full-fat canned coconut milk
- 1 cup water or low-sodium chicken stock
- 1/2 teaspoon fine sea salt
For the garnish
- 2 tablespoons chopped cilantro or toasted coconut flakes
Directions
- Place the rice in a fine-mesh strainer and rinse under cold running water until the water runs mostly clear, then drain well.
- Heat the oil in a heavy-bottomed pot over medium heat. Add the chopped onion and cook for 3-4 minutes until softened and just turning translucent at the edges.
- Stir in the garlic and grated ginger and cook for about 30 seconds until fragrant, taking care not to let them brown.
- Add the drained rice to the pot and stir for 2-3 minutes to toast the grains lightly so they turn glossy and slightly opaque.
- Drop in the cinnamon stick, cardamom pods, cloves, and bay leaf, then pour in the coconut milk, water, and salt. Stir once to combine.
- Bring the mixture to a gentle boil, then immediately reduce the heat to the lowest setting, cover tightly with a lid, and simmer undisturbed for 18 minutes.
- Remove the pot from the heat and let the rice rest, still covered, for 8-10 minutes so the steam finishes cooking the grains evenly.
- Uncover and fluff the rice gently with a fork, lifting and separating the grains while fishing out the cinnamon stick, bay leaf, and cardamom pods.
- Pile the rice onto a warm platter, scatter the cilantro or toasted coconut over the top, and serve hot alongside grilled fish, curry, or roasted vegetables.
Cook’s Notes
- Full-fat canned coconut milk gives the richest, creamiest result, so shake the can well before opening and skip the low-fat version here.
- Basmati or another long-grain white rice keeps the grains separate; jasmine will be slightly stickier and closer to a pudding consistency.
- Swapping the water for seafood stock or chicken stock adds a deeper savory backbone if you are serving the rice with a mild main.
- Toasting the rinsed rice briefly in the oil before adding liquid helps keep the grains from clumping as they absorb the coconut milk.
- Leftovers keep well in the fridge for 2 days; reheat with a small splash of coconut milk to bring back the silky texture.










