Heat vegetable oil in a large saucepan over medium heat. Season chicken with salt and pepper and 1 tbsp of the garam masala and cook on each side until cooked through. Cook until golden brown, about 8–10 minutes. Transfer chicken to a plate.
To the same pot, add onion, garlic, and ginger to pot and cook, stirring occasionally, until onions are very soft and golden brown, about 8–10 minutes.
Add chicken stock and mix well to incorporate all the brown bits on the bottom of the pan. Then add tomato paste, additional 3 tbsp. of garam masala, turmeric, coriander, cayenne - and cook, stirring often, until combined and thickened, about 4 minutes.
Add chicken pieces and chicken stock to pan. Stir until sauce has thickened. Then add coconut milk and honey.
Season with salt and pepper and bring to a boil.
Reduce heat and simmer, partially covered, until chicken is tender and liquid is slightly thickened (the longer it simmers, the longer the flavors have to mix. You can simmer for as little as 20 minutes, or even up to an hour).
If sauce is too thick, thin with a bit more chicken stock. Add more salt and pepper to taste.
To serve, spoon stew into a shallow bowl and place a large dollop of yogurt on one side. Sprinkle with some fresh chopped mint, cilantro or parsley and serve with naan on the side. Also great with warm basmati rice.