In a large pan, heat to medium-high and add oil. Add onions and eggplant and cook ~3-5 minutes. Turn down heat as necessary to avoid burning.
Add garlic, ginger, and curry powder to pan. Cook, stirring frequently, ~1 minute.
Add tomatoes and allow to simmer and thicken ~20 minutes
Season with salt, pepper, garam masala, and cilantro. Serve with yogurt.