Bring water to a boil, add the spices, rice and oil and salt and mix slightly.
Let the rice cook to about almost done. Keep ready
Cook/roast, cashews and raisins in a little oil and keep aside.
Cook the onions till golden brown and keep.
In a large pan, add all the spices and dry roast them for 2-3 minutes on medium heat, stirring almost continuously till they release a strong aroma. Blend/grind them coarsely and keep. You can get Biryani masala spice mix from an Indian store and use 2 teaspoons or more, but it doesnt taste as good as the fresh spices!
In the same pan, add 2 teaspoons of oil and heat at medium heat.
Add in the minced ginger, garlic, chili and turmeric and mix for a few seconds.
Add in the veggies and salt an mix well.
Let veggies cook for 5 minutes, stirring occasionally.
Mix the roasted spice mix in cashew yogurt or cream and add to the vegetables.
Mix well, adjust salt and spice.
Cook covered on low heat for 10-15 minutes stirring occasionally, till the vegetables are tender. Taste for spice, make and add more roasted biryani spice mix if you like. The veggies should be on the spicier side. The spice gets distributed when layered with rice.
Grease a deep baking dish.
Put a layer(1/4 inch) of rice at the bottom.
Add a layer of the spicy vegetables
Top it off with another rice layer.
Sprinkle the saffron water on the rice.
Top the rice with the brown onions, cashews and raisins(garnish) and any other preferred dried fruits.
Drop some cilantro and mint(you can add these after baking as well).
Bake covered (foil or baking dish cover) for 10-15 minutes at 350 degrees F to set. (20-25 minutes, if you prepped everything a day before and the layers are not already warm/hot). You can also cook in heavy bottom deep pan on low heat on the stove, covered for 15 minutes.
Sprinkle lemon juice and serve hot with pickles or Raita(Add salt, cumin powder, chili powder and chopped onions to non dairy yogurt. mix, top with chopped cilantro and serve)