Remove skin and fat from chicken. Cut into 8 - 10 pieces. Cut 2 or 3 slits in each chicken piece, 1 inch long and 1/2 inch deep. Set aside.
Grind onion, garlic and ginger to a paste. Set aside.
Heat oil in a skillet over medium heat. Add chicken in a single layer and fry 3 - 5 minutes, turning pieces over several times until they're white. Transfer chicken to a plate with a slotted spoon.
In the same oil add cumin seeds, cardamom pods, bay leaves, cinnamon stick and cloves. Fry until cumin seeds turn golden brown. Add onion paste and fry until golden brown again. Whip yoghurt with a fork and add 1 tablespoon at a time to the onion masala until yoghurt is well blended. Cook until most of the liquid has evaporated and the mixture draws into a dense mass.
Add chicken and any juices that may have accumulated. Stir thoroughly, add water and salt and mix again. Bring to a boil, reduce heat and simmer 20 - 25 minutes, covered.
Heat oven to 300 degrees F and roast almonds in a baking pan until light brown (15 - 20 minutes). Shakes pan frequently to avoid burning.
Add raisins to the chicken and stir thoroughly. Cover and simmer 10 minutes. Add 2 tablespoons roasted almonds, garam masala and chopped coriander. Stir gently.
Transfer to a platter and garnish with the rest of the almonds.