Turn the heat to medium and place a heavy-bottomed pan, (I use a 6 qt stockpot) on the stove. To really bring out the nutty golden colour of the onions, it is preferable to not use a non-stick pan. Add oil and allow pan to heat up for 2 minutes.
Add onions and saute till they start to turn golden.
At this point, add the fresh garlic and ginger and continue to sauté.
The onions will start to darken more, don't worry, this is what will give the curry its dark, intense colouring. The garlic and ginger will also begin to caramelise at this point.
This will take a total of 15 minutes.
Add tomatoes, salt, chili pepper and turmeric and turn the heat to medium or medium-high, start to "fry" (bhuno) this mixture. Be careful, the tomato sauce may splatter, in that case, turn the heat down. It will take approximately 15-20 minutes.
By the end of it, you should see the sauce has reduced and looks jammy.
Let the mixture cool a bit and transfer the chunky ingredients with a slotted spoon, to a blender.
Blitz it all to a smooth paste, add some water to the blender if you want to get all the sauce off the walls of the blender.
Transfer mixture back to the pan.
Add chicken pieces and 1/2 cup of water and turn the heat to medium-high.
"Fry" (bhuno) the chicken till you start to see the oil separating from the sauce. This is an indication that it is almost done. This will take approximately 15-20 minutes and rigorous stirring.
Add the remainder of the water- 1 1/2 cups and cardamom pods, turn the heat to low, cover with a lid and let it simmer for 20 minutes. The oil should have floated freely to the top of the curry by the end of it.
Serve with a garnish of fresh chopped coriander/cilantro, (both leaves and sweet stems), kachumbar and chapati or Basmati rice Note: If using garlic and ginger paste, add the paste once the onions have fully darkened, otherwise the paste will burn.