Take the skin off the eggplants then chop into small sticks. Remove the skin from the shallots and chop into small pieces. Do the same for the garlic.
In a large pan over medium-high heat, add about 2 tablespoons olive oil. Once hot, add the shallots and cook until translucent. Next add most of the garlic, reserving the rest for later. Then add the eggplant, occasionally stirring the eggplant with a wooden spoon. From time to time, add a small amount of water. After about 20 minutes, deglaze the pan with balsamic vinegar and let cook for 1 minute. Remove the pan from the heat add more olive oil, to taste, garlic, salt and pepper, let cool before serving. Garnish with the tomato.