In a large bowl, combine the minced garlic, minced ginger, ground smoked paprika, ground cumin, ground coriander, ground turmeric, salt, and black pepper.
Add the chicken pieces to the bowl and coat them well with the spice mixture. Let it marinate for at least 30 minutes, or overnight for best results.
In a large pot or skillet, heat the vegetable oil over medium heat.
Add the marinated chicken pieces and brown them on all sides. Remove the chicken and set aside.
In the same pot, add the finely chopped onion and sauté until translucent, about 5 minutes.
Stir in the chopped tomatoes, tomato paste, and green chilies (if using). Cook until the tomatoes soften and the mixture thickens, about 3-4 minutes.
Return the browned chicken to the pot.
Pour in the chicken broth or water and bring the mixture to a boil.
Reduce the heat to low, cover, and simmer for about 30-40 minutes, or until the chicken is cooked through and tender.
Remove the chicken from the pot and let it rest for a few minutes.
Enjoy your meal!