Slice the tops off the tomatoes and scoop out the pulp. Save tops to use as lids later.
In a deep bowl mix vegetables, cilantro (coriander), chili, onion, ginger, gram masala and salt - one by one; also add tomato pulp and mix thoroughly.
Heat 3 tablespoons ghee (or vegetable oil) in a kadhai (or a large frying pan), and sauté cumin seeds until they change color. Then carefully arrange tomato shells in pan, over cumin.
Stuff shells with vegetable mixture. Replace tomato lids and secure with cocktail toothpicks. Sprinkle leftover mixture around tomatoes in pan.
Cover pan and cook over low heat for about 15 minutes. Carefully turn tomatoes over a few times and add more ghee as necessary so that tomatoes do not stick to pan.
Serve hot or cold.