Heat the oil in a medium sized frying pan until the oil just starts to shimmer.
Add the onions and cook until the onions just start to brown at the edges. This should take around 3 minutes.
Stir in the garlic ginger paste, cilantro stems and green chilies. Coook until the garlic ginger paste stops sputtering.
Turn your heat down to medium low and add your spice mix. This is why you added 3 tablespoons of oil. You want to fry your spices in the oil. If you skimp on the oil you risk your spices sticking or burning. If your spices burn here you are starting over.
Add the Indian hotel curry gravy. Stir it really well to get the oil to combine with the curry gravy. You want everything mixed together at this point. Bring to a simmer.
Add the chicken thigh pieces in a single layer. Nestle them down into the sauce. Cover and ccok about 5 minutes. Remove the cover, flip the chicken and recover. Cook until the chicken is done. Use an instant read thermometer if you have one. You are shooting for an internal temperature of 170F.
The sauce consistency should be about perfect. The juices from the chicken should be enough but if it looks dry add a couple tablespoons of water and stir to combine.
Add the cilantro leaves and stir. Then add the tomatoes and simmer just long enough to warm the tomatoes through.