Wash the spinach well and chop. Put into a pot with half a cup of water and salt to taste and boil till cooked.
Grind the spinach into a paste in a food processor. Keep aside.
Heat the oil in a pan on a medium flame and fry the chicken pieces till well browned. Remove and keep aside.
Again heat the same oil, then add the whole spices.
As the spices turn slightly darker, add the onion, ginger and garlic pastes and fry till the onions are pale golden in colour.
Add all the other spices - coriander, cumin and garam masala - and fry for 5 minutes.
Add the tomatoes and fry till the oil begins to separate from the masala.
Add the chicken to this masala, mix well and add half a cup of water. Cook till the chicken is almost done.
Add the spinach now and mix well. Cook till most of the water dries up. Remove from the fire and garnish with a dollop of fresh butter.
Serve with hot Chapatis (Indian flatbread) or Parathas (pan-fried Indian flatbread).