At least 15 minutes before cooking, place the rice in a small bowl and gently wash it several times in cold water until the water runs mostly clear. Then, leave the rice to soak in cold water for at least 15 minutes. This process lengthens the grains of rice. Drain off water well right before you start cooking.
Heat avocado oil in a nonstick Dutch oven over medium heat. Add the onion and sauté, stirring often, until golden brown (for about ten minutes.) Deglaze the pan with ¼ cup water. Once the water dries up, add the garlic, ginger, and 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.
Add in peas and stir. Pour in the water.
Increase the heat to high and bring to a boil. Once the water comes to a boil, add the drained rice, and stir gently to mix.
Now, cover the pot to bring to a boil again, then reduce the heat to medium. Cover partially with the lid. Allow to simmer for about 5 minutes. The water level will reduce and the rice will rise to the surface.
Then, take the lid off, place a kitchen cloth or tea towel over the pot, cover tightly with the lid to seal tightly.
Reduce the heat to the lowest setting on your stove and allow to cook for 15 minutes more. Then, turn off the heat and allow to rest for another 10 minutes before serving. DO NOT uncover until 10 minutes has passed.
Gently lift the rice from the edges and fluff with a fork or rice paddle. Serve!