Heat the vegetable oil in a large skillet or Dutch oven over medium heat.
Add the chopped onion and sauté until it becomes golden brown, about 5-7 minutes.
Stir in the minced garlic and grated ginger, cooking for an additional 1-2 minutes until fragrant.
Add the cumin seeds, coriander powder, turmeric powder, garam masala, and chili powder; sauté the spices for about 1 minute to release their flavor.
Pour in the canned diced tomatoes (with juice) and stir well. Allow the mixture to simmer for about 5 minutes.
Add the coconut milk to the pot, stirring to combine. Bring to a gentle simmer.
Add the chicken pieces and season with salt to taste. Cover and cook for approximately 20-25 minutes, or until the chicken is cooked through and tender, stirring occasionally.
Once cooked, remove from heat and garnish with fresh chopped cilantro before serving.
For a deeper flavor, allow the curry to sit for a few minutes after cooking before serving.