This is based on a family recipe I was given by a good friend (you should check out his blog here for other cool stuff.) I’ve butchered it a bit since then to be a little more “friendly” for the rest of my family who’s not so much into the spiciness.
Shallow fry the onion using in oil. Make sure that you use a low-medium heat and fry the onions until they turn golden-brown (darker the better but make sure that you don’t burn them). This part is quite important for the final taste. Once the onion is brown enough - add the chilly (optional) and ginger. Continue to fry for another 10 minutes.
Add the tomatoes and continue frying with occasional stirring until it thickens slightly. Add 5-6 teaspoons of your desired curry spice and add salt to taste (I normally add 1.5-2 teaspoons) Add the crushed garlic, 1 teaspoon ground pepper, and mix evenly.
Cover and cook for around 20mins still on a low-medium heat. Add chicken and mix until all the chicken pieces have a layer of paste on them and cook for another 20mins.
You can check in between and adjust the gravy volume as you like it. If it looks watery after the chicken is tender, continue to cook without the lid for a thicker gravy. At the end, add another teaspoon of ground pepper and 3-4 teaspoons of coconut oil & cream/yogurt.
Add some rice, papadums and you’re ready to go!