Place the rice in a small bowl and gently wash the rice until the water runs mostly clear. Soak in water for 20 minutes.
Heat oil and ghee in a nonstick pan or dutch oven over medium heat. Add whole spices,and saute for 30 seconds.
Add the onions and green chili and sauté until they are golden brown, about 8 minutes while stirring frequently.
Add frozen peas, garam masala, salt, and stir. Pour in the water. Raise heat to high. Let it come to a boil.
Add the rice. Stir it. Bring to a boil. Reduce the heat to low, cover with a lid, and allow to cook for 12-15 minutes or until all the water is soaked. Turn off the heat and allow to rest for another 5 minutes. Do not stir at this time.
Use a rice paddle or fork to gently lift the rice from the edges and fluff. Transfer onto a serving tray. Garnish with cilantro, if desired.
Serve with cucumber raita, mint raita, or plain yogurt.