Assemble your ingredients, make sure you have everything or appropriate substitutes.
Warm a large pot over medium heat. The pan needs to be wide enough to let the chicken pieces lay in a single layer on the bottom and deep enough to prevent splatter. A rondeau with a lid is perfect.
When the pot is warm, pour in the vegetable oil and wait until it starts shimmering.
Add the diced onions to the pot. Cook until the onions are translucent while stirring occasionally.
Place the halved tomato cut-side down on the onions and add two tablespoons of water to the pot. Cover the pot immediately and steam for about five minutes.
Take off the lid carefully to avoid getting a faceful of steam. Use tongs to remove the skins from the tomatoes. If the skins don't come off easily, replace the lid and steam for a minute or two more.
Add all the remaining ingredients except for the chicken, garam masala, and the extra herbs used for garnish.
Increase the heat to medium-high and stir continuously with a wooden spoon. Use the back of the spoon to press down on the vegetables occasionally.
Cook until the vegetables cook down and the oil starts to separate. At this point, you can remove the bay leaf and buzz the spice mixture with a stick blender or food processor. When the mixture is smooth, return it to the pot along with the bay leaf.
Turn the heat up to high and add the chicken. Cook until the chicken develops a nice golden brown color.
Pour in 2 1/2 cups of water. Cover the pot and reduce the heat to low for 30 minutes.
Remove the bay leaf and discard, and stir in the garam masala. Serve the chicken with a small amount of the cooking liquid in a shallow bowl. Garnish with a sprinkling of toasted ground coriander or dried fenugreek.