In a large frying pan (pick your biggest one with a cover), cook the onions in the oil until translucent on medium heat.
Add the whole spices and cook for 2 minutes.
Add the chicken and brown it. Then remove it from the pan and set aside.
Using a mortar and pestle, pound the garlic and ginger into a paste.
Add the paste to the pan and fry for 1 minute.
Add the remaining spices and tomato puree/sauce. Cook for 15-20 minutes to allow the onions to break down.
Add 3/4 - 1 cup of water to the pan and bring to a boil.
Add the chicken back to the pan. Cover and cook for 25-30 minutes or until chicken is cooked through.
Remove the bay leaves and black cardamom.
Garnish with cilantro and serve.
Best served with Spiced Black Rice