To wash or not to wash rice? In the case of basmati, no matter what my preparation is, I always wash it. It cleans out any small particles and it also rids the rice of any starch on the grain. This starch makes the rice gummier when cooked.
Preheat the oven to 250 degrees F.
In a medium bowl, add the rice and 4 cups of cold water. Soak the rice for 1/2 hour.
In a small bowl, add the cumin seeds, cardamom, fennel seeds, cinnamon, black peppercorns, and bay leaves and stir to combine. Turn the mixture out onto a baking sheet and put it in the center of the oven to lightly toast the spices and awaken the flavors, about 2 to 3 minutes. Remove the baking sheet from the oven and allow the spices to cool.
Heat a medium saute pan over medium heat and add the butter and the onion. Season with salt and cook until the onions are translucent but not brown, about 3 to 5 minutes. Stir in the spices. Drain the rice but reserve the soaking water. Stir in the rice and cook until you hear the rice crackling, about 2 minutes. Gently stir in the reserved soaking water. Season with a generous portion of salt and bring the liquid to a simmer over medium heat.
Cook the rice over medium-low heat, uncovered and undisturbed, for about 8 minutes. Take a fork (so as not to damage the rice) and flake a few grains off to taste for doneness. It may need to be cooked another 2 to 4 minutes. Remove from the heat and allow the rice to "rest" (as you would a roast beef) for 10 minutes before "forking" it gently into a serving bowl. Stir in 3 tablespoons of butter, if desired, and serve.