First make the marinade by blending all the ingredients together. Rub the marinade all over the chicken, including the inside, and set aside for two hours.
Meanwhile, blend the onions, garlic, ginger and almonds together into a paste. Add the cumin, coriander, turmeric, paprika, cayenne pepper and salt and blend again.
Put some oil into a frying pan and fry the paste over a medium-heat for 8-9 minutes. Add the lemon juice, pepper and garam masala and mix together.
Leave the paste to cool and pre-heat the oven to 180 degrees.
Spread the cooled paste all over the chicken, including the insides and then wrap securely in foil.
Bake, breast side up, for 90 minutes or until the chicken is tender.