Mix chicken with yogurt, spices, lemon, and rest for 30 minutes.
Cook Masala:
Heat ghee, fry onions until light brown. Add ginger garlic paste and cook 2 minutes. Add tomatoes and cook until soft. Add marinated chicken and cook on low heat until tender.
Add Herbs:
Add green chilies, coriander, and mint. Cook until masala thick and oil separates.
Boil Rice:
Cook rice with salt and whole spices until 90% done. Drain.
Layer & Dum:
Layer rice and chicken, add color water if using. Cover and cook on low heat for 15–20 minutes.
Serve:
Rest for 5 minutes, mix gently, and serve hot.
Notes
Do not overcook rice—slightly firm rice gives perfect biryani texture.