Preheat the oven to 400 F.
Toss the eggplant in 2 tbsp olive oil, salt and pepper to taste and spread in a baking tray in a single layer. Bake for 20 minutes, tossing the eggplant after 10 minutes.
While the eggplant is baking, heat the remaining olive oil in a Dutch oven or a heavy-bottomed pot over medium-high heat. Add onions and sauté for 3-5 minutes over medium heat, until they are translucent.
Add the garlic, ginger, and serrano peppers and sauté for another 1 minute until fragrant.
Add the Roma tomatoes and sauté for 3 minutes until the tomatoes have broken down.
Add the cumin, coriander, turmeric, and chili powders and mix well. Sauté for 1-2 minutes. Add salt to taste.
Add the coconut milk and water and let it come to a boil.
Once boiling, reduce the heat to a simmer and add the roasted eggplant and the garbanzo beans. Mix well.
Add the spinach a little by little allowing it to wilt into the curry.
Once all the spinach has wilted, add the garam masala and mix well. Let the curry simmer for 1-2 minutes.
Serve hot with warm naan or rice.