Rinse basmati rice until the water runs clear; soak for 30 minutes.
Heat oil or ghee in a large pot; add whole spices and sauté until fragrant.
Add sliced onions and fry until golden brown.
Stir in the marinated meat and cook until browned.
Mix in chopped tomatoes and cook until soft.
Add yogurt, green chilies, biryani masala, and salt; cook for 5 minutes.
Drain the soaked rice and layer it over the meat mixture.
Pour 4 cups of water over the rice; add mint and coriander leaves.
Cover tightly and cook on low heat for 30 minutes.
Fluff the biryani gently before serving.