2 cups Basmati rice
4 tablespoons unsalted butter or ghee
2 teaspoons minced garlic
1 tablespoon grated ginger
1/2 teaspoon turmeric
1/2 teaspoon coriander seeds
1/2 teaspoon cumin seeds
8 whole cloves
1/2 teaspoon black peppercorns
2 cardamom pods
1 large onion, diced (about 2 cups)
3 cups fresh corn kernels (about 6 ears corn)
1 cup golden raisins
2 cups chicken broth or water
2 tablespoons chopped cilantro
2 tablespoons chopped scallions
1/4 cup roasted cashews (optional)
Put rice in a medium bowl and cover with cold water. Swish with fingers, then pour off water. Repeat 2 or 3 times, until water runs clear. Cover again with cold water and soak 20 minutes, then drain.
Melt 2 tablespoons butter or ghee in a heavy-bottomed saucepan over medium-high heat. Add garlic, ginger, turmeric, saffron, coriander, cumin, cloves, peppercorns and cardamom, and stir to coat. Let sizzle a bit, then add onion and cook, stirring, until softened and beginning to color, about 5 minutes. Add remaining 2 tablespoons butter or ghee, the rice and the corn, and season with 1/2 teaspoon salt. Cook for 1 minute. Add raisins and 2 cups broth or water and bring to brisk simmer. Taste cooking liquid for salt and adjust if necessary.
Cover with tightfitting lid, turn heat to low and let cook 15 minutes. Let rest 10 to 15 minutes off heat. Fluff rice and transfer to serving bowl. Sprinkle with cilantro, scallions and cashews, if desired. Serve with yogurt raita.