Marinate the chicken. In a bowl, combine the chicken with yogurt (or lemon juice), a pinch of salt, and a pinch of turmeric.
Stir, cover, and let it sit 15–30 minutes while you prep everything else. This step keeps the meat tender.
Prep the aromatics. Finely chop the onion and mince the garlic and ginger. Keep spices measured and ready so you can add them quickly.
Sauté the onions. Heat the oil in a large skillet or pot over medium heat.
Add onions with a pinch of salt and cook 6–8 minutes, stirring, until soft and lightly golden.
Bloom the spices. Add garlic and ginger. Cook 30 seconds, then stir in curry powder, turmeric, cumin, coriander, and red pepper flakes. Let the spices toast for 30–60 seconds until fragrant.
Don’t let them burn.
Add the tomatoes. Stir in the crushed tomatoes. Simmer 2–3 minutes to reduce sharpness and deepen flavor.
Cook the chicken. Add the marinated chicken and any juices. Stir to coat in the sauce.
Cook 4–5 minutes, stirring, until the exterior loses its raw color.
Pour in liquids. Add coconut milk and broth. Stir well and bring to a gentle simmer. Reduce heat to medium-low.
Simmer and thicken. Let the curry simmer uncovered for 12–15 minutes, stirring occasionally, until the chicken is cooked through and the sauce thickens.
Add sugar or honey if the sauce tastes too acidic.
Season and finish. Taste and adjust salt, pepper, and heat. If you like it richer, add a splash more coconut milk. For brightness, finish with a squeeze of lemon.
Serve. Garnish with chopped cilantro.
Serve hot with rice or naan. Spoon extra sauce over everything—it's the best part.