In a large saucepan that has a lid, heat the oil over medium-high heat. When hot, add the cumin seeds, coriander seeds and bay leaf and temper in the oil for about 30 seconds.
Pour in the chopped onions. Fry for about 10 minutes until the onions are soft and translucent. Stir in the ground cumin and coriander, garlic and ginger paste, chilli powder and turmeric followed by the chopped tomatoes and allow to sizzle over medium heat for about 5 minutes. Add the salt to this mixture and it will help the onion release moisture into the sauce.
The onions and tomatoes will begin to break down, turning into a thick sauce. Stir in the tomato puree or passata and sizzle for about 30 seconds, then add the chicken. Stir it all up nicely and pour in just enough water to cover the chicken. Cover the curry and let it simmer for about 10 minutes.
The sauce will become nice and thick and will stick to the chicken pieces as they cook. Remove the lid and stir, adding a drop more water if you prefera thinner sauce or turn up the heat if it is too runny.
Stir in I teaspoon of the garam masala and taste. Add more salt if needed.