Wash the lauki and peel it using a vegetable peeler. Grate it using the medium hole of a grater. It would be about 2 cups of grated Lauki.
Transfer the grated lauki in a mixing bowl and add salt to it. Mix well using your fingers. Let it sit for 10 minutes. This helps to let the lauki release its water.
Now squeeze the grated lauki in between your palms to remove the water from it. You can also use a muslin cloth to remove the water. Keep the squeezed lauki in another medium-sized bowl.
Add ginger, green chili, red chili powder, cumin powder and besan to the lauki. Mix well with your fingers.
Make small balls from the lauki mixture. (Tip: If you are having trouble making a ball, then add 1 tablespoon more besan)
Heat vegetable oil in a large frying pan (kadhai) over medium to high heat until it reaches 300°F. Once oil is hot, lower the heat to medium. Fry the balls on medium heat until golden brown from all sides. Stir them in between as needed.
Heat 1 tablespoon oil in a pan on medium-high heat. Once oil is heated, add onions, ginger, garlic and green chili peppers.
Cook for 3 minutes until the onions are translucent. Then add the tomatoes. Cook for another 3-4 minutes so the tomatoes soften.
Turn off heat and let the masala cool down a bit. Now transfer to a blender and blend to a smooth paste and set aside.
In the same pan, heat 1 tablespoon oil. Add the cumin seeds and let them sizzle.
Add the blended onion tomato masala to the pan. Add turmeric powder, red chili powder, and coriander powder to the pan. Mix well.
Saute the onion tomato masala while stirring frequently for about 6-8 minutes. The masala will thicken, and start leaving oil on the sides of the pan.
Now add the water to the pan. Stir well and let it come to a boil. Continue cooking the masala for 3 minutes.
Now add the cooked kofta balls to the curry. Simmer for 5-6 minutes until the kofta soften and soak the liquids.
Garnish with cilantro and serve with roti.