Put the ginger, garlic, 4 tablespoons of the almonds, and the water into a blender and blend until you have a paste.
Heat oil in a skillet over medium heat. When hot add chicken in a single layer and fry until golden brown on the bottom. Now turn all the pieces over and brown the second side. Remove the ckicken pieces with a slotted spoon and set them aside.
In the same oil add cardamom pods, bay leaves, cinnamon stick and cloves. Stir and fry them for a few seconds. Now put in the onions. Stir and fry the onions for 3-4 minutes or until they are lightly browned. Put in the paste from the blender, and the cumin and cayenne. Stir and fry for 2-3 minutes or until oil seems to separate from the spice mixture and the spices are lightly browned. Whip yoghurt with a fork and add 1 tablespoon at a time to the onion masala until yoghurt is well blended.
Add the cream and salt, plus the chicken and any juices that may have accumulated. Bring to a simmer. Cover, turn heat to low, and cook gently for 20 minutes. Add the raisens and turn the chicken pieces. Cover again and cook another 10 minutes or until the chicken is tender. Add the garam masala. Stir to mix.
Put the remaining almonds on a baking sheet and put them under the broiler until they brown lightly, about 5 minutes. Keep an eye on them, and shake the pan frequently. Sprinkle the roasted almonds over the chicken when serving.