Heat the vegetable oil in a large skillet over medium heat. Add the chopped onion and sauté for about 5 minutes until softened and translucent.
Stir in the minced garlic and grated ginger, cooking for an additional 1-2 minutes until fragrant.
Add the curry powder, cumin, coriander, turmeric, and red pepper flakes (if using). Stir well and cook for another minute to toast the spices.
Add the chicken pieces to the skillet, stirring to coat them in the spice mixture. Cook for about 5-7 minutes until the chicken is browned on all sides.
Pour in the coconut milk, chicken broth, and soy sauce. Stir to combine, then bring the mixture to a gentle simmer.
Reduce the heat to low and cover the skillet. Let it simmer for 15-20 minutes, or until the chicken is cooked through and tender.
Season with salt and pepper to taste.
Serve the chicken curry over cooked rice or with naan, garnished with fresh cilantro.