Soak the basmati rice for a minimum of 20 minutes and then drain the water.
In a large pan or kadai, boil around 3 cups of water and add all the whole spices like bay leaves, cinnamon, cardamon, cloves, marathi moggu and bring it to a boil. Add around 1.5 tablespoons of salt and 1 tablespoon of ghee and then the soaked rice and close the lid and let it cook on medium flame till all the water is absorbed. The rice should only be around 75% cooked. Transfer the cooked rice onto two large plates and spread well and let it cool completely.
Wash and peel the potatoes and cut in large chunks. Deep fry in oil on high flame, till it is golden brown in colour. Drain on a tissue paper
In a bowl, add 3 tablespoons curd, 1 teaspoon kashmiri red chilli powder, 1 teaspoon dhaniya powder, 1 teaspoon biryani masala, 1/4 teaspoon turmeric powder, 1/2 teaspoon garam masala and salt to taste. Mix well.
Add the fried potatoes to the curd marinade and mix well. Let the potatoes marinate for at least 15-20 minutes. You could also add some deep fried cauliflower if you like.
Dice 3 to 4 onions finely length wise and deep fry in medium hot oil till golden brown. Keep stirring the onions in between so that they turn golden uniformly. Drain on a tissue paper and keep the onions aside.
Cut carrots and beans lengthwise and parboil them with corn and peas for around 5 to 6 mins. Drain the vegetable stock and reserve.
Heat 1/4th cup of milk and add a pinch of saffron and mix and let it infuse well.
In a heavy bottom handi, add 3 tablespoons ghee and add 2 onions roughly diced (lengthwise) and add the green chillies and ginger garlic paste. Cook till the onions turn pink.
Now add remaining Turmeric powder, red chilli powder, dhaniya powder, Biryani masala and some salt and mix well. Add 1 tomato chopped lengthwise. Cook for 2 to 3 minutes. You could add some of the reserved vegetable stock.
Now add the marinated potatoes and the remaining parboiled vegetables. Sauté for couple of minutes. Add around 1.25 cups of the reserved vegetable stock and bring to a gentle boil.
Now reserve half of the vegetables from the gravy, leaving more of the gravy in the handi. Add one layer of rice. Add some deep fried onions, mint and coriander leaves.
Add the remaining vegetable gravy and repeat the layer of rice, onions and mint and coriander leaves.
Make some holes using fork and add around 1 to 2 tablespoons ghee. Pour the saffron infused milk on top and cover with aluminium foil on top and tightly close the lid and cook on dum on lowest flame for 20 minutes. Do not open the lid in between.
Let the biryani rest for 5 minutes before opening the lid. Now use a fork and gently puff up the rice so that the steam can escape. Wait for 5 mins before using a spoon, so that the steam can escape. This is important else the rice grains can break when it is mixed while still hot.