Blanch the tomato to remove the skin, then roughly chop. Chop the eggplant into bite-sized pieces.
Place the eggplant on a heat-resistant dish, wrap in plastic wrap, then microwave for 3-4 minutes on high strength until tender. Discard any water.
Heat vegetable oil into a pot, then sauté the onion until it becomes translucent and very tender, (taking care not to burn it).
Add the garlic and ginger, lightly sauté. When aromatic, sprinkle in the ● ingredients, and sauté for 1 minute.
Add the roughly chopped tomato, and sauté until the tomato softens and loses form. Add the eggplant from Step 2, lightly sauté and mix.
Add the water and coconut milk and bring to a boil.
Simmer (for about 15 minutes) on medium heat, without a lid, until the sauce is slightly thickened. Add salt and garam masala to taste.
Transfer to a serving dish and garnish with cilantro.