To make the koftas:
Add all the kofta ingredients except the oil and spinach in a bowl and mix well with a wooden spoon. Shape into little balls the size of golf balls.
To make the batter:
Put the gram flour, ajowain, salt in a separate bowl and make a well in the centre.
Gradually stir in the water until it becomes a smooth thick batter.
Spread the shredded spinach out onto a flat tray.
Dip the koftas into the batter and then roll them in the spinach to form a coating. Keep aside.
To make the sauce:
Put the tomatoes in a large saucepan. Cook and cover over a medium heat until they begin to soften.
Add the garlic, ginger, cardamom, cloves and bay leaf.
Bring to the boil. Simmer until the tomatoes completely disintegrate.
Remove and liquidise in a blender. Strain if necessary, pour into a clean saucepan.
Add the chilli powder and fenugreek leaves and simmer for ten minutes until slightly thickened.
Add the butter a little at a time stirring constantly. When the sauce turns glossy add the cream and simmer for a couple of minutes.
Season with salt, stir in the garam masala and add a pinch of sugar to bring out the flavours.
Heat the oil in a deep fat fryer or a deep saucepan until hot.
Add the koftas and fry for 1 1/2 minutes until crisp and golden. Drain on kitchen paper and serve with the sauce.