Clean and wash the chicken thighs and cut into smaller pieces. Add garlic, onion, and 1 tbsp of curry powder. Mix well, cover and refrigerate for about 12 to 24 hours. Take the chicken out of refrigerator about 1 hour before cooking.
In a heavy bottom medium pan, heat vegetable oil on medium-high flame and add onion and chicken marinating mixture. Cook for a minute, stir occasionally.
Add all the remaining spices and cook for 10 minutes. Do not over-cook or burn the spices.
Now, add the chicken and cook for few minutes until lightly brown. Add tomatoes and stir for 1 minute.
Add 1 cup of hot water. Cover and bring to a boil. Slow down the heat and simmer for 45 minutes. Taste and add the seasoning according to your taste.
Add potatoes, carrots, and half cup of hot water. Cover and simmer for 30 minutes. Once the vegetables get tender, remove the pan from heat.
Serve this delicious chicken curry with rice or a flatbread and enjoy!