Wash and pat dry the eggplant. Make 3-4 slits on it. Insert garlic cloves and green chili in the slits.
Apply some oil all over the eggplant and also inside the slits.
Put the eggplant over direct flame and roast. Keep on rotating until it gets evenly cooked from every side. Once the skin of eggplant gets completely charred and the flesh gets nicely cooked remove it from the flame and put on a plate. Allow reaching room temperature.
Once the eggplant cools down, remove the charred skin. If the eggplant is nicely cooked the skin will come out very easily. Discard the skin. Cut the stem and discard it too.
Put the roasted garlic, chili, and eggplant pulp in a bowl and mash with a fork or potato masher. Keep aside.
Heat oil in a pan and add cumin seeds. When the seeds start spluttering add chopped onion, ginger, and garlic. Saute until the onion becomes translucent.
Add all the spice powders and salt. Saute for around 30 seconds.
Add mashed eggplant and cook for around 3-4 minutes.
Spread a layer of tomatoes and chopped green chili over the eggplant. Don't mix. Cover the pot with a lid. Cook for around 6-7 minutes.
Remove the lid and mix the tomatoes with eggplant. Cook for another 2-3 minutes and then switch off the gas.
Garnish with chopped coriander leaves and serve hot with roti, paratha, naan, or rice.