Wash and dry potatoes, then chop into evenly-sized pieces. Set aside.
Add oil to a large pot over medium to high heat and add onions. Sauté until translucent, then add garlic and ginger, and cook for another 3 minutes.
Add broth, tomatoes, tomato paste, garam masala, cumin, turmeric, coriander, chili flakes and salt. Stir, incorporating all ingredients. Add chicken and potatoes and bring to a boil. Reduce heat to a simmer and cook for 1 hour, until potatoes are fork tender.
Remove from heat and stir in sour cream. Transfer stew to a large serving dish and garnish with cilantro.