1. Rinse the basmati rice under cold water until the water runs clear. Set aside.
2. In a large pot, heat the oil or ghee over medium heat.
3. Add the chopped onion and minced garlic, cooking until softened and golden.
4. Add the cumin, turmeric, cinnamon, cloves, cardamom, and bay leaf. Stir and cook for 1-2 minutes until fragrant.
5. Add the rice to the pot and stir it into the spices, allowing it to toast lightly for about 2-3 minutes.
6. Pour in the water or chicken broth, add salt to taste, and bring it to a boil.
7. Reduce the heat, cover the pot, and simmer for 15-20 minutes, or until the rice is fully cooked and the liquid has been absorbed.
8. If using, stir in peas and raisins during the last 5 minutes of cooking.
9. Fluff the rice with a fork before serving.