Remove the internal organs from the whole chicken and drizzle 3 tbsp lemon juice over the chicken, rinse it thoroughly under running water. Pat dry with kitchen paper towel.
In a small bowl, combine 1 tbsp chili powder and 1 tsp salt along with 2 tbsp water. Spread this all over the whole chicken and keep aside the chicken. Heat a pan over medium heat, add almonds (skin peeled off), poppy seeds and cumin seeds, roast for 3 to 5 minutes till the almonds start to turn golden. Add these to a blender, add ¼ cup water and grind into a smooth paste. Keep aside the paste.
For making the egg roast : Cook 2 eggs in boiling water for 15 to 20 minutes, remove the saucepan from the heat and let the eggs rest in the hot water for 10 more minutes.
Take the eggs from the water and remove the shells. Rinse the eggs under water and keep aside.
Place a large wide non-stick pan over medium heat, add 1 tbsp oil.
Add chopped onion, season with salt and saute till onion turns translucent.
Add ginger-garlic paste, saute for a minute till the raw smell goes away.
Add chili powder, garam masala, cilantro and mint leaves, combine well and cook for a few minutes.
Add the hard boiled eggs and combine into the onion masala. Cook for 2 minutes.
Let the egg roast cool down for a few minutes.
Stuff the eggs along with the onion into the cavity of the whole chicken. 2 eggs can be stuffed into a medium sized whole chicken.
Using a kitchen twine, tie the legs and wings of the chicken so that they are intact and the egg stuffing wouldn't come out.
For making the gravy : Use the same pan used for making egg roast, place the pan over medium heat, add 4 tbsp oil. Add whole cardamom, cinnamon and bay leaves, saute for a few seconds.
Add the minced onions (onions should be chopped really small), season with salt and saute till translucent.
Add ginger-garlic paste and saute for a few minutes.
Add chili powder, cumin powder, coriander powder and garam masala, combine well and cook for a few seconds.
Add tomatoes, cook covered till tomatoes are mashed up.
Add the ground almond/poppyseed/cumin seeds mixture, combine well and cook till the oil oozes out of it.
Beat the yogurt well in a bowl using a whisk.
Add the yogurt to the pan, combine well.
Add the saffron strands soaked in water, combine well and cook the mixture for a few minutes.
Add chopped cilantro and combine well.
Taste the gravy, if needed add more salt.
If the gravy is too thin add ¼ cup warm water to thin it down.
Place the whole chicken stuffed with eggs breast side down into the gravy.
Using a spatula, rotate the chicken inside the pan, pour some gravy over the chicken.
Cover the pan and cook over medium-low heat for 25 minutes. After every 5 minutes, make sure to rotate the chicken and pour the gravy over the chicken.
If the gravy has thickened, add some water to thin it down.
After 25 minutes of cooking, using 2 wooden spatulas gently flip the chicken over so that the breast side is upwards now, pour the gravy over the chicken and cook covered for another 15 minutes.
After 15 minutes, uncover, rotate the chicken using the spatula, pour the gravy over the chicken and cook for 10 minutes.
Total cooking time is 50 minutes.
Remove the pan from the heat, cover the pan and let the chicken rest in the pan for 10 minutes.
While serving, transfer the whole chicken on a platter.
Pour the gravy over the chicken or serve in a separate bowl.
Serve the whole chicken with Ghee rice, Pilaf or plain basmati rice.
Enjoy this delicious mughlai murgh musallam with your loved ones.