Cook the rice with salt for 6-7 mins and drain the water. Let the cooked rice cool completely.
Heat oil/ghee in a wide pan. Add bay leaf and sliced onion. Cook till onion becomes soft and begins to brown. No need to brown completely.
Add crushed ginger, garlic and chopped green chilli (if using). Mix well and cook for 2-3 mins, till the raw smell goes.
Add sliced tomatoes and salt. Cook till it becomes soft (refer notes)
Add all the spice powders 9kashmiri chilli, coriander, turmeric and garam masala). Mix well and cook for another 2-3 mins, till the raw smell goes and oil starts appearing.
Add coconut milk (if using) or water to the masala. Combine everything well.
Add chopped coriander and mint leaves and mix well. Add cooked rice.
Gently mix together rice and masala, until the masala is nicely mixed with the rice.
At this stage, you can add 1 tsp of ghee if you wish. it will enhance the flavor of the rice.
Switch off the gas. Cover and let the rice rest for 15 - 20 mins before serving. Serve with raita, pappad and pickle.
Notes
I like tomatoes to be really soft and almost mushy. However if you like having a bit of texture, adjust the cooking time accordingly.Coconut milk enhances the flavor of the rice and also tones down the masala a bit. Sometimes, I add scrambled eggs to this to make it more wholesome. If you are adding eggs, you can add scrambled eggs to the masala, just before adding the rice.