Fry the chicken lightly in 4 tablespoon of oil for 3-4 minutes until lightly browned and set aside.
Put the spinach into a deep pan; add 1/4 cup water. Bring to boil and remove from heat. When cool, grind in blender and set aside.
Heat the remaining oil and add ginger, garlic and onions; saute until lightly brown. Add tomatoes, salt, cayenne, coriander powder, turmeric, cloves, and cardamom.
Sprinkle with one tablespoon water. Cook for 10 minutes over low heat. Add chicken and milk. Simmer until the chicken is tender.
Add spinach and garam masala. Cook until spinach starts sticking to pan. Remove from heat. Add butter to chicken saag and cover until ready to serve.