Soak the rice in cold water for 20 minutes.
Wash and drain the rice. Add rice to 5 cups of boiling water with 1 teaspoon salt, 3 cardamom, 5 cloves, ½ cinnamon stick. Cook the rice until its ¾ done. Drain well, fluff with a fork, and cool.
Boil the carrots, beans, cauliflower and peas until half cooked. Drain and place in a bowl of ice water for 1-2 minutes. Drain and set aside.
Heat the ghee or butter and gently fry the cashews until slightly brown. Set aside.
Heat the oil in a large pot over medium heat. Add the cumin seeds, remaining cardamom, cloves, cinnamon stick and bay leaf. Cook for about a minute or until fragrant and lightly brown.
Add the onions and stir for 1 minute. Add the ginger and garlic and stir for another minute.
Add the tomato puree and let it cook for 3-4 minutes.
Remove the pot from the heat and stir in the yogurt, mixing well.
Return the pot to the heat and add the turmeric, chili powder, coriander powder, and garam masala.
Add the vegetables and salt to taste. Cook until the vegetables are soft. (You may need to add a small amount of water if it looks dry)
Preheat the oven to 350°F.
Soak the saffron in warmed milk for a few minutes and fold it into the rice.
Layer half the rice in a Dutch oven (or a lightly greased baking dish) and cover with half the cilantro and cashews.
Next, layer the vegetables in the dish and cover with remaining rice and then cilantro and cashews.
Cover tightly and bake for 15-20 minutes. Serve immediately.