To begin, marinate the chicken. In a large bowl, mix the yogurt, ginger-garlic paste, turmeric, cumin, red chili powder, garam masala, lemon juice, and salt. Rub this mixture generously over the chicken, ensuring the marinade coats both the outside and inside of the chicken. Cover and refrigerate for at least 2 hours, or preferably overnight, for best results.
While the chicken marinates, prepare the stuffing. In a pan, heat 2 tablespoons of ghee. Add cumin seeds, and once they splutter, sauté the onions until golden. Add the minced meat and cook until browned. Stir in the raisins, nuts, cinnamon, coriander, and salt. Cook for another 5 minutes, and set aside to cool slightly.
Remove the marinated chicken from the refrigerator. Gently stuff the cooled meat mixture into the chicken’s cavity and tie the legs with kitchen twine to secure the stuffing. This ensures even cooking and a beautiful presentation.
Preheat your oven to 180°C (350°F). Place the stuffed chicken on a roasting tray and roast for about 40-45 minutes, basting occasionally with the drippings. The chicken should be golden and cooked through when done. You can check for doneness by inserting a meat thermometer into the thickest part of the thigh; it should read 75°C (165°F).
While the chicken roasts, prepare the gravy. In a large pan, heat 1/4 cup ghee or oil. Add cumin seeds, bay leaves, cinnamon stick, cloves, and cardamom pods. Once aromatic, add the sliced onions and cook until caramelized and golden brown.
Add the ginger-garlic paste to the onions and sauté for 1-2 minutes. Stir in the tomato puree, red chili powder, turmeric, and ground coriander. Cook on medium heat until the oil separates from the tomato mixture, about 10 minutes.
Reduce the heat to low and stir in the yogurt, whisking continuously to prevent curdling. Let the gravy simmer for about 10-12 minutes until thickened and rich. Add the garam masala and adjust salt to taste.
Remove the chicken from the oven and place it gently into the gravy. Spoon some gravy over the chicken and simmer for another 10 minutes to allow the flavors to meld. Garnish with fresh cilantro and serve hot with naan or basmati rice for a complete meal.