Heat a large non-stick sauté pan over medium-high heat and add the coconut oil. Once hot, add the whole cumin seeds, cinnamon stick, and cardamom pods, if using. Let these spices splutter and immediately add the onions. Sauté until lightly browned, about 7-8 minutes.
Add the garlic and ginger and cook for 30 seconds or until the raw smell disappears. Add the green chili pepper, tomatoes and sauté for 2-3 minutes until the tomatoes become soft. Add the potato, green bell pepper, spice powders (coriander, cumin, turmeric, black pepper, and red chili flakes) and salt and stir.
Increase the heat to high. Add the chicken and stir-fry for 3-4 minutes or until the chicken changes color. Add the coconut milk and yogurt and bring the mixture to a light boil.
Lower the heat to low-medium, cover and allow to simmer for 15-16 minutes, or until the chicken is tender and vegetables are cooked through. Uncover and raise the heat to allow the sauce to thicken for 2-3 minutes, if desired.
Taste and adjust salt and seasoning. Garnish with chopped cilantro and serve with white basmati rice.