Wash rice: Place the rice in a small bowl and gently wash the rice until the water runs mostly clear. Soak in water while you proceed with the recipe.
Heat oil and ghee in a nonstick Dutch oven over medium heat. Add the onion and sauté, stirring often, until golden brown (~10 minutes). The onions will determine the color of the pulao so you want them deeply and evenly golden-brown. Deglaze the pan with ¼ cup water. Once the water dries up, add all the garlic, ginger, and whole spices and sauté for a minute, until aromatic. Add the tomatoes and green chili pepper (if using) and continue to cook for another 3-5 minutes, until the oil starts separating.
Add garam masala, ground black pepper, salt, and frozen peas and stir. Pour in the water.
Raise the heat to high and cover to bring to a boil. Meanwhile, drain the rice thoroughly. Once the water comes to a boil, add the drained rice and stir gently to mix. Taste the broth. It should taste saltier than you prefer because it’ll mellow out once rice is cooked. If it's not, add a bit more salt.
Cover to bring to a boil again, then reduce the heat to medium. Cover partially with the lid. Allow to simmer, undisturbed, for about 5 minutes. The water level will reduce and the rice will rise to the surface.