Make vertical slits on eggplant. Put peeled garlic cloves in slits and brush eggplant with oil.
Place the eggplant directly over an open gas flame, turning it occasionally with tongs so all sides are evenly charred. Once the skin is blistered and the eggplant feels soft inside, remove from heat.
Transfer the roasted eggplant to a bowl and cover it with a plate or lid. Let it sit for 10 minutes. This steaming step helps loosen the skin and continues softening the flesh.
While the eggplant steams, roast one tomato and a green chili over the flame until charred. Set aside to cool slightly.
Peel off the charred skins from the eggplant, tomato, and chili. Using a knife, finely chop the roasted eggplant, garlic, tomato, and green chili into a chunky mash.
In a pan heat oil and sautee onions. Add all spices except garam masala. Add a dash of water to prevent spices from sticking to the pan. Cook for 2 minutes.
Add chopped eggplant, tomato and chilli. Mix it and cook for 2 minutes. Add some corriander/cilantro and garam masala.
Serve with roti or paratha along along with onion salad and mint chutney