Grate the garlic and ginger on a microplane to create a paste. Add the diced chicken to a bowl with the garlic and ginger paste, turmeric, and salt. Mix well to combine. Marinate for 1 hour, up to 24 hours.
Grind all of the pepper masala powder spices in a spice grinder or mortar and pestle. Set aside.
Place a large, high-rimmed pan or pot over medium heat. Add the vegetable oil and curry leaves and fry for 1½ minutes, until they start to crisp. Add the onion and fry for 10 minutes, until soft. Add the chilli and fry for 1 minute. Add the tomatoes and cook for 8–10 minutes, breaking them down.
Increase the heat to medium-high. Add the marinated chicken and cook for 6–8 minutes. Add the pepper masala powder and cook for 1–2 minutes.
Add the water or chicken stock and deglaze the pan. Season well with salt and bring to a boil. Reduce the heat to low and simmer for 30–40 minutes with the lid on, or until the chicken reaches an internal temperature of 74°C (165°F). Remove the lid and stir through the chopped coriander. Check the seasoning and remove from the heat. If the gravy is too thick, loosen it with a splash of stock or water.