In a large skillet, toast the cumin, coriander, and cardamom over low heat until you smell the spices, about 1 minute. Grind the spices finely in a spice grinder.
Add oil to the skillet, and heat over medium-high until the oil is very hot or smoking. Add the chicken and season with salt and pepper. Let the chicken brown before stirring; and brown evenly on each side.
Add the curry powder, chili powder, cinnamon, tomatoes, onion, garlic, ginger, coconut milk along with the rest of the ground spices and white wine. Bring to a boil, and then simmer over low heat until the sauce thickens, about 1 hour.
Season with salt and pepper to taste and add the cilantro.