1Set a large, heavy skillet or braising dish over medium-high heat and add the oil; heat for a minute or two before adding the onions and cinnamon stick; sauté for about 4 minutes. Add the garlic, ginger, tomatoes, salt, pepper, cumin, coriander, garam masala, turmeric and cayenne. Cook the masala for 5 minutes, or until the oil separates from the masala. (I like adding a bunch of chopped cilantro stems here too.)
2Remove and discard the chicken skin and add the bone-in thighs to the masala. Stir to coat them well and cook for 10 minutes, until the chicken looks cooked on the outside. Add the sour cream and a cup of water and bring to a simmer, stirring well. Reduce the heat to medium, cover and cook for 15 minutes, stirring once or twice, until the chicken is cooked through. Remove the cinnamon stick and set aside to cool slightly.
3When the chicken is cool enough to handle, peel the meat off the bones, discard the bones and stir the chicken back into the curry. Refrigerate or reheat right away, stirring in the cilantro just before serving. Serves 6.