Rinse and dry the eggplant. Apply oil over the eggplant using your palms or a brush. Roast eggplant.
Place the eggplant on top of a burner for roasting. Optionally, use a stainless steel mesh on top of the burner, and place eggplant on it. Roast whole turning frequently for about 12-14 minutes. Once done, a fork or knife should insert easily in the eggplant.
Transfer to a plate, cover with foil and let it cool slightly. Now with your fingers, remove the skin completely. Then chop/mash the eggplant using a knife/fork. You can also use a potato masher.
In a large pan on medium-high flame, heat oil and add cumin seeds. Sauté for 30 seconds until the cumin seeds sizzle. Add green chili pepper, ginger and garlic. Sauté for a minute.
Add onions and saute for 5-7 minutes until they are light golden. You don't want to brown them.
Add all the spices. Then add the tomatoes. Mix well, and cover with a lid so the tomatoes soften. Saute for 5-7 minutes until the oil separates.
Add the roasted mashed eggplant. Mix well and sauté for 2 minutes. Turn flame to medium-low and cover with a lid for 3-4 minutes. Remove lid, and give the bharta a stir. Turn off flame.
Garnish with chopped cilantro, and enjoy with roti or paratha.