Chop the tomatoes in large cubes (one tomato in 8-10 pieces) and slit the chilies on the side, without removing the seeds, and set aside.
Peel and chop the onions in cubes that fit comfortably in a blender and turn it into a paste; if required, to facilitate the process, add a little bit of water, but try to keep it to as little as possible, as you do not want the mixture to splatter once it is added to the oil.
In a medium-sized saucepan, add the oil and warm up on a medium flame; once this is warm add the onion paste, the ginger garlic paste, and ¼ teaspoon of salt (or as liked) and cook thoroughly until the smell of rawness, especially of the garlic, has gone. This should take about 4 minutes, but please keep an eye on it a keep on mixing every 30 seconds – 1 minute.
Once the onion and ginger garlic paste mixture is cooked add the turmeric powder and coriander powder, mix well and allow the spices to cook. This should take about 30 seconds and you will know they are cooked because the oil will separate from the spices.
Add the chopped tomatoes and green chilies to the pan, mix well and cover the pan with a lid. Reduce the heat to low and allow the tomatoes to soften; this will take about 4-5 minutes.
Once the tomatoes are soft, add the chili powder and mix well; after 30 seconds add the diced chicken thighs. I like to cut the thighs into 2 or 4 pieces, depending on the size; my preference is to keep them larger than bite-size, as I like to break them while I eat, using the bread.
Mix the chicken well and cover the pan with the lid, allowing the chicken to cook for 10 minutes (still on low flame). Should the mixture be too dry for your taste and should you prefer your gravy to be looser, then add half a cup (or as preferred) of water to the pan and bring to the boil, before putting the lid on the pan and cooking, but remember the chicken will be releasing some water while cooking in any case.
After the 10 minutes have passed, add the garam masala and mix well. Now finish cooking the chicken, which should take about 5 more minutes on a medium flame. I normally do this without a lid, as I prefer my gravy thicker; should you prefer it looser, keep the lid on and the flame on low.
Once the chicken is cooked thoroughly, add the fresh Cilantro (coriander), adjust the salt and cook for a further 30 seconds – 1 minute.
The curry is now ready to be served!