Kitchen note: A nonreactive pan--stainless steel, enamel-coated or glass--is necessary when cooking acidic foods, such as cranberries, to prevent the food from reacting with the pan. Reactive pans, such as aluminum and cast-iron, can impart an off color and/or off flavor in acidic foods.
Heat 1 1/2 teaspoons oil in a nonreactive Dutch oven (see Kitchen Note) over medium-high heat until hot but not smoking. Add half the chicken pieces and sprinkle with a generous 1/2 teaspoon curry powder. Cook, stirring occasionally, until the chicken is beginning to brown, about 5 minutes. Transfer to a large plate. Add the remaining 1 1/2 teaspoons oil to the pot and heat until hot. Add the remaining chicken; sprinkle with another generous 1/2 teaspoon curry powder and cook, stirring occasionally, until beginning to brown, about 5 minutes. Transfer to the plate. dd butter, onion and mustard seeds to the pot; cook, stirring, until the seeds pop and the onion begins to brown, 2 to 4 minutes. Return the chicken and any accumulated juices to the pot, sprinkle with the remaining curry powder and cardamom (or cloves); stir to coat the chicken with the spices. Cook, stirring, for 1 minute. Stir in tomatoes, broth, dried and fresh cranberries, ginger and salt. Bring to a boil, reduce heat to a simmer and cook, uncovered and stirring occasionally, until the mixture reduces slightly and the chicken is cooked through, 10 to 12 minutes more. Serve garnished with cilantro.