Mix together all the ingredients mentioned under koftas except oil really well. The mixture should almost become smooth. Form the mixture into small balls. You should get 13-15 balls.
Heat the paniyaram or appe pan and brush it with oil. Place kofta balls in the pan and cook them on all sides till golden brown. This should take 2-3 minutes on each side.
For the curry, start by adding onions, bayleaf, green chilies, ginger, garlic and cashews along with a cup and a half of water to a pot. Bring to a boil and then simmer for ten minutes till the onions are cooked. Once cool, strain the water but don't throw it away. Remove the bayleaf and grind the mixture to a paste with a tablespoon or so of reserved water.
In another pot, bring water to a boil and add the spinach. Immediately switch off the flame, and cover the pot. Let this sit for 2 minutes. In the meanwhile, prepare a pot with water and ice cubes in it. Strain the spinach leaves and dump them in the ice water. The leaves will immediately get a bright green color. Let them sit for half a minute, strain, and grind the spinach to a fine paste.
In a pan, heat oil and add cinnamon, cloves and cardamom. Add the onion paste and cook for 3-4 minutes. Please note that we don't want to brown the paste.
Add tomatoes and cook till the tomatoes almost start breaking down. Stir in garam masala, salt, spinach paste and some of the reserved water. Bring this to a boil and then let it simmer for 5 minutes. You can add more water depending on how thick or thin you like your gravy.
Add the kofta balls right towards the end and switch off the flame. Boiling the koftas may result in them breaking down.
To temper the curry, heat ghee or butter in a small pan and add cumin seeds. Once the seeds start to splutter, add asafoetida, smashed garlic and whole red chilies. Switch off the flame and pour this on top of the curry.
Serve hot with parathas or rice.