Ingredients
1 cup long-grained white rice (preferably basmati)
2 tablespoons unsalted butter (or ghee)
1 small yellow onion, finely diced
5 green cardamom pods
1/2 teaspoon ground cloves
1/2 cup full-fat unsweetened coconut milk
1 cup boiling water
1 teaspoon kosher salt
Instructions
  1. 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.
  2. 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.