Take a pressure cooker, add oil and heat it.
Add whole spices such as cloves, cardamoms, cinnamon stick, shahi zeera, bay leaf and saute few seconds.
Add finely sliced onions into it.
Add salt to taste and saute the onions until they turn slight pinkish in color.
Add slit green chillies and saute until the onions turn slight golden in color.
Add ginger garlic paste and saute well to get rid of raw smell.
Add sliced tomatoes into it, mix and cook until the tomatoes get mushy and soft.
Add julienned carrots into it.
Add green peas and saute few seconds.
Add yogurt, mix well.
Add salt as per taste, red chili powder, turmeric powder, garam masala powder.
Add black pepper powder to the tomato gravy.
Mix well and cook the gravy on medium to low heat until oil leaves the sides.
Keep stirring in between.
Add water that is about 5.5 cups water (for 3 cups of rice) and stir well .
Add coriander leaves. mint leaves, check for salt and if required as per taste.
Add soaked basmati rice (3 cups) into it and stir well.
Pressure cook the rice for 1 whistle on high flame.
Switch off the flame and let the pressure release naturally.
Remove the lid after 5 minutes.
The rice should be served once it cools down to avoid the soggy texture and have a grainy rice appearance.
Serve hot with raita.