Rinse basmati rice under cold water until the water runs clear.
Soak the rice for 30 minutes, then drain.
Heat ghee or oil in a heavy pot and add cumin seeds, cloves, cardamom, cinnamon, and bay leaves.
Sauté sliced onions until golden brown, then add green chilies and chopped tomatoes.
Cook until tomatoes soften, then stir in the meat and sauté until browned.
Add yogurt, salt, mint, and coriander; cook for 5-7 minutes.
Pour in 3-4 cups of water and bring to a boil.
Add soaked rice, reduce heat, and cover the pot. Cook until rice is tender and water is absorbed (about 20 minutes).
If using saffron, dissolve it in warm milk and drizzle over the cooked biryani.
Let it rest for 10 minutes before serving. Fluff with a fork.