Heat oil in a heavy-bottomed pot over medium heat until shimmering. Add cumin seeds and let them crackle for about 30 seconds, releasing a fragrant aroma.
Add the minced garlic and ginger to the pot. Sauté for about 1 minute until fragrant and slightly golden, stirring constantly so they don't burn.
Stir in the finely chopped onion and cook for 4-5 minutes, stirring occasionally, until the onions become translucent and begin to turn golden around the edges.
Add the tomato puree to the pot and cook for another 5 minutes, stirring frequently, until the mixture thickens and the oil starts to separate from the tomato base.
Sprinkle in red chili powder, coriander powder, and turmeric. Mix well and cook for 2 minutes to toast the spices and deepen their flavors.
Add the chopped vegetables to the sauce and stir to coat them with the spice mixture. Let them cook for 5 minutes, allowing their flavors to meld.
Pour in water or vegetable broth to cover the vegetables. Bring to a gentle boil, then reduce heat to low, cover, and simmer for 15 minutes until the vegetables are tender and the curry thickens.
Uncover the pot and check the consistency. If you like a thicker curry, simmer uncovered for another 5 minutes, stirring occasionally.
Taste and adjust salt and spice levels as needed. Finish with a pinch of garam masala for added warmth and aroma, stirring well.
Turn off the heat and let the curry rest for a couple of minutes, then serve hot with rice or flatbread for a hearty, flavorful meal.