Wash and soak the basmati rice for 30 minutes to 1 hour. Wash and peel the skin of potato and carrot. Cut them into small cubes (I chopped like the way served in Hyderabad biryani house). Set aside. Slice onions. Soak saffron threads in warm milk.
Heat cooking oil in a pan and deep-fry the onion slices. Fry till golden brown and remove onto a plate. Do not burn them, just fry carefully on medium flame.
Remove half of the roasted onions and reserve it for final garnishing.
In a non-stick kadai or heavy-bottomed pot, take the chopped veggies. Add cardamom, cinnamon, cloves, ginger-garlic paste, turmeric powder, red chilli powder, curd, garam masala powder, salt, half the fried onions, lemon juice, 3 tbsp oil in which onions were fried, finely chopped mint and coriander leaves. Mix well and check for taste. Let this mixture marinate for 30 to 45 minutes.
In the meantime, boil 4 cups of water in a wide pot and add the drained, soaked basmati rice. In the water, add cinnamon, cloves, cardamom, black stone flower, bay leaf, 1 tbsp of ghee along with half the salt for rice. (Add salt carefully because we have added salt in veggie masala too).
Let the rice cook on medium flame for 20 minutes. By now rice will be cooked to 80%. Check whether the rice breaks but it should be firm in shape. Remove the rice alone and keep the water. Do not discard it.
Now layer the 80% cooked rice over the marinated masala mixture. Add the reserved rice cooked water all around the rice. I added around 5 tbsp of water. Please note the quantity of water may vary as per the water quantity retained in masala, so make sure you don't add more water or it will make the rice mushy.
Add the saffron soaked milk and finely chopped mint and coriander leaves on top.
Close the kadai with a tight lid or plate so that steam does not escape. Keep a weight over the plate (I kept a bowl with water, or you can even place a heavy stone).
Switch on the flame and turn it to very low. Let the biryani cook in very low flame for 20 to 25 minutes. No need to open in the middle, but make sure you don't get any burning smell. Your house will be completely covered with an awesome aroma of biryani when it's cooked! Now remove the plate, gently fluff the rice with a fork, garnish with the remaining fried onions and serve hot.