Coat the bottom of a large saucepan with olive oil and place it over medium heat.
When the oil is hot, add the onion. Sweat the onion until it becomes soft and translucent, about 5 minutes.
Add the garlic, ginger, serrano pepper, garam masala, coriander, cumin, turmeric, and black pepper. Cook the spices with the onion for about 1 minute, until the mixture becomes very fragrant, stirring constantly.
Stir in the broth, potato, cauliflower and carrots. Stir a few times to incorporate. Raise the heat and bring the mixture to a boil.
Lower the heat and allow pot to simmer for about 15 minutes.
Stir in the tomatoes, green beans, and chickpeas. Bring the mixture back to a simmer and cover the pot.
Allow the curry to simmer with the lid on for about 15 minutes, until the green beans are tender.
Remove the lid and continue simmering the curry for a minute or two, to allow the sauce to thicken up, stirring occasionally.
Remove the pot from heat and season the curry with salt to taste. Adjust any other seasonings to your liking.