In a large pan, heat oil on medium heat for one minute. Add onions and cinnamon, and sauté for another four minutes. Add ginger, tomatoes, salt, black pepper, turmeric, cumin, coriander, garam masala and cayenne. Cook this masala for five minutes, or until the oil separates from the masala.
Remove and discard skin from the chicken thighs. Wash thighs and add to the masala. Stir well. Cook chicken thighs for ten minutes, until the chicken looks cooked on the outside. Add sour cream and water and stir well. Increase the heat to medium-high. When curry starts to boil, reduce the heat to medium, cover and cook for 15 minutes, stirring two or three times, until chicken is completely cooked. Poke the thighs with a knife. If the meat is still pink, cook for five more minutes. Remove and discard the cinnamon stick. Cool curry for at least half an hour.
Transfer cooled chicken to a mixing bowl. Wearing latex gloves, peel chicken meat off the bones. Discard bones and stir chicken back into the curry. Just before serving, heat curry on medium heat until it starts to boil lightly. Stir in cilantro.
Divide curry evenly among six bowls. Serve with naan or rice.
A Spanish Tempranillo with good fruit and balanced tannins is a great pairing.