Roast and grind together the three ingredients listed in Other Ingredients and set aside.
Put chopped ginger and 1/2 tsp salt in a deep vessel.
Add 2 cups water, bring to a boil, and add kathal.
Cook until tender, but still firm to touch, squeeze out water, keep aside.
Save some of this liquid, keep aside. If using canned kathal, drain and rinse well then squeeze all the water.
Add all other kofta ingredients including ginger and salt to kathal, mix well.
Add more gram flour if required for binding.
Shape into koftas, deep fry in hot oil until golden.
Keep aside in perforated container until required.
In another pan, heat oil.
Add whole masalas, except onions, roast to splutter.
Add onions; cook until light and transparent.
Add saved water, bring to a boil, and simmer for 4-6 minutes.
Dissolve all dry masala powders in 1/4 cup water and add to cooking mixture.
Add all other ingredients, except chopped coriander leaves.
Add some more water if gravy is too thick.
Add salt to taste, simmer further for 5-7 minutes.
Add kofta, stir, and pour into serving dish.
Garnish with chopped coriander leaves.