In a food processor, pulse the cabbage and carrot until finely minced.
Add in the salt, mix well.
Transfer the cabbage, carrot and salt mixture to a cheese cloth lined colander or a large mesh strainer and let sit for 30 minutes to 1 hour.
Squeeze out as much liquid as possible from the cabbage and carrot mixture and add the cilantro, ginger, garam masala and gram flour. You should have a dough that is damp but not too wet.
Grease hands with a little bit of oil. Scoop out small bits of the mixture onto your palms and form little balls. I like to use a tablespoon measure for each scoop so that they come out even.
Heat the oil in a heavy bottomed pot on high heat. Test it by dropping tiny amounts of the dough into the oil. When the dough rises straight up when dropped in and the oil bubbles around it, the oil is ready.
Fry 5 to 6 balls at a time until golden brown and cooked through.
Set aside until gravy is ready.
In a large pot cook the onion until soft and translucent.
Add the garlic and green chili. Cook for about 2 minutes.
Add the ginger, tomato paste and spices. Cook for another minute.
Add in the tomatoes, tomato sauce, sugar and water.
Let simmer for about 20 minutes, stirring often.
Taste and adjust seasoning.
Puree the tomato gravy by either using an immersion blender or transferring the gravy to a food processor or blender.
Pour back into the same pot and stir in the cream.
Add the fried cabbage balls while the gravy is still hot.
Gram flour does the heaviest lifting in this recipe by absorbing residual moisture from the vegetables, yet doubling this mixture blindly will ruin the structural ratio. When adjusting yields upward, salt the shredded cabbage and carrots in batches rather than dumping a massive pile into a single colander, because overloading the strainer prevents adequate liquid drainage and leaves you with water-logged dough that dissolves in hot oil. Textural failure usually stems from rushing the thirty-minute to one-hour resting window or failing to squeeze out every drop of moisture through the cheesecloth, which forces you to dump excessive besan into the bowl until the koftas turn dense and rubbery. Maintain thermal control during the frying stage by utilizing a heavy-bottomed pot and testing the oil with tiny dough fragments until they rise straight to the surface with immediate bubbling activity. Pureeing the tomato gravy requires careful blending once the twenty-minute simmer concludes, ensuring the dairy integrates smoothly without splitting against the acidity of the canned tomatoes before the hot fried spheres submerge.