Warm the oil in a large pan over medium heat until it is hot.
Scatter in the whole spices and let them sizzle gently for about a minute to release their aroma.
Stir in the chopped onion and cook for 4–5 minutes until it softens and begins to turn golden.
Mix in the garlic paste, ginger paste, and green chilli paste, allowing them to cook for 1–2 minutes so the raw smell fades.
Add the tomatoes and cook for 4–5 minutes, stirring occasionally, until they break down and soften.
Sprinkle in all the ground spices and cook for 3–4 minutes, letting them blend into the tomato base.
Add the chicken and cook on high heat for 6–8 minutes, stirring to coat it fully and seal the pieces.
Fold in the yoghurt and continue cooking on medium heat for 4–5 minutes, stirring steadily until the oil begins to separate from the mixture.
Add the spinach, cover the pan, and cook on low heat for 20–25 minutes until the chicken is tender and the spinach has melted into the sauce.
Add your first comment to this post