Marinate chicken pieces with red chili powder, salt, turmeric, garam masala, and black pepper. Let sit for 15 minutes.
Heat coconut oil in a heavy-bottomed pan over medium heat.
Add cinnamon, cloves, cardamom, and fennel seeds. Sauté until fragrant.
Add sliced onions and cook until golden brown.
Stir in ginger garlic paste and cook for 2 minutes until aromatic.
Add chopped tomatoes and cook until they break down and become mushy.
Add the marinated chicken pieces and mix well to coat with the spice mixture.
Cook chicken on medium-high heat for 15-20 minutes, stirring occasionally, until chicken is tender and cooked through.
Pour in coconut milk and simmer for 5-8 minutes until the curry reaches desired consistency.
Taste and adjust seasoning as needed. Serve hot.