Boil water in a pan, Add cinnamon, cardamom, shahi jeera, bay leaf, oil ,lemon juice and let it come to a rolling boil.
Soak the basmati rice in water for at least 15 -30 minutes before you start cooking. Add it to the boiling water.
Give it a good mix and let it cook for 10 minutes in medium flame until the rice is half done. Rice is half done when your are able to break it into half.
Strain and keep it aside to cool completely. You can discard the spices like bay leaf and cinnamon at this stage.
Heat oil and add Chopped garlic, chopped green chillies, chopped capsicum and finely chopped onions.
Fry for a minute until the onions turn pink.
Add chopped tomato and saute again for 1 more minute.
To this, add the spices, turmeric powder, pepper powder and garam masala. Give a good mix until well blended with the vegetables.
Furthermore, add very finely chopped red cabbage and Fry for a minute again and add Salt, vinegar and tomato sauce. Mix well.
After 5 minutes, add the half cooked rice. Spread it evenly over the cabbage mix. Pour in the saffron milk over the rice. Close and cook in low heat for 10 minutes or until the rice is done.
Open after 10 minutes when rice is completely cooked but not mushy. Fluff it up gently until vegetables are combined well with rice. Optionally, add dry grapes and serve hot with raita.