Heat the vegetable oil in a large pot over medium heat.
Add the chopped onions and sauté until they are translucent and soft, about 5 minutes.
Add the minced garlic and ginger, and cook for another 2 minutes.
Add the chopped tomatoes and tomato paste to the pot. Stir well and cook until the tomatoes break down and the mixture thickens, about 10 minutes.
Stir in the paprika, thyme, curry powder, salt, and black pepper. Cook for an additional 2 minutes.
Stir in the rice until it's well-coated with the tomato mixture.
Pour in the chicken or vegetable broth and add the bay leaf. Stir well.
Bring to a boil, then reduce the heat to low and cover the pot with a tight-fitting lid.
Let the rice cook on low heat for about 20-30 minutes, or until the rice is tender and has absorbed most of the liquid. Avoid stirring too frequently to prevent the rice from becoming mushy.
In the last 10 minutes of cooking, add the frozen peas and chopped carrots. Stir gently to incorporate them into the rice.
Once the rice is fully cooked and the vegetables are tender, remove the bay leaf. Adjust seasoning if needed.
Garnish with fresh parsley or cilantro if desired.
Enjoy your meal!