In a food processor, blend the onions, ginger and garlic until you have a paste. Add the onion paste to a large pot with some oil. Fry this for around 5 minutes constantly stirring.
Meanwhile, in a bowl, combine all the ground spices and mix. Add the chicken and coat completely. Transfer the chicken to the onion paste pot and cook for around 5 to 10 minutes just until the chicken is no longer pink on the outside. Add 2 tins of chopped tomatoes and water. Add the bay leaves then bring to the boil on a high heat. Add salt and pepper and chilli (if using) then reduce heat to medium to simmer and cook for 1 hour.
Check the curry at around the half hour mark and taste the sauce. You can always add more of the spices to taste. After an hour, and when the chicken is no longer pink in the middle and the juices run clear, remove from heat and serve.
Use whichever cut of chicken you prefer, but it should be skinless otherwise the skin will become rubbery.
Before you start, clean your chicken using either vinegar or lemon juice.