Blitz the onions in a blender to a smooth paste, then remove and set aside. In the same blender, blitz the garlic and ginger, then remove and set aside.
Now add the tomatoes and tomato purée to the blender and blitz to a smooth paste, then set aside.
Heat the oil in a large, heavy-based, non-stick pan over a medium heat. Add the whole spices and, when they sizzle (after about a minute), add the onion paste and fry for 9 to 10 minutes, stirring well.
Then, add the garlic and ginger paste, and fry for 1 minute to cook out the raw flavours. Add the tomato paste and fry for 2 minutes until it begins to thicken. Now add the turmeric, chilli powder, cumin and ground coriander, and fry for 3 minutes, stirring well.
Add the chicken and mix to coat with all the spices, frying for 7 to 8 minutes to seal on all sides. Season to taste, then add 270ml of water. Bring to the boil, then cover and simmer for 15 minutes.
Add the potatoes and continue cooking, with the lid on, for 15 to 17 minutes or until the potatoes and the chicken are cooked through. Garnish with the coriander and lemon juice. Serve with your choice of Indian sides.