"This rice dish is emblematic of all the recipes in this book—the story of the spice trade along the Indian Ocean, the story of Arab settlers in East Africa, and the story of inexpensive ingredients turned into something with so much flavor. Zanzibar, an archipelago off the coast of mainland Tanzania, is home to about a million people. It sits at the heart of the trade routes between East Africa, Europe, and the Middle East, and the cooking in Zanzibar reflects this incredible mix of cultures. The name pilau, just like the term pilaf, derives from the Persian term polow, which is rice mixed with things like spices, nuts, and meat. This dish is also very similar to Bariis (Basmati Rice Pilaf with Raisins) but is made with coconut milk and without tomato or raisins. If you are vegan, feel free to substitute coconut oil or olive oil for the butter."
Place the rice in a fine-mesh sieve and rinse with cold tap water, stirring the rice gently with your hands, until the water runs clear through it, about a minute of rinsing and stirring. Place the rinsed rice into a bowl, cover with cold water, and let it soak for at least 10 minutes and up to 30 minutes.
Meanwhile, place the butter in a medium saucepan set over medium-high heat. Once the butter has melted, add the onion and cook, stirring occasionally, until it begins to soften, about 5 minutes. Add the cardamom, cinnamon, and cloves, and cook, stirring, until the mixture smells very fragrant, about 1 minute. Stir in the coconut milk, water, and salt. Drain the rice through the sieve and add it to the pot. Reduce the heat to low, cover, and cook until the rice has absorbed the liquid and is tender, about 15 minutes. Turn off the heat and let the rice sit, covered, off the heat for at least 10 minutes before fluffing with a spoon or a fork. Remove and discard the cinnamon and cardamom (if you can find them, they tend to hide—if you can’t find them, just warn your guests). Serve the rice immediately while it’s hot. Leftovers can be stored in an airtight container in the refrigerator and warmed in a 300°F oven or over low heat in a skillet.