Heat the oil in a large skillet or Dutch oven over medium heat. Add the cumin seeds and toast for 1 minute until fragrant.
Add the diced yellow onion to the skillet and sauté for 4-5 minutes until translucent and slightly golden brown.
Stir in the minced garlic and grated ginger, cooking for an additional 1 minute until highly aromatic.
Sprinkle in the turmeric, coriander, and half of the garam masala. Stir continuously for 30 seconds to lightly toast the ground spices.
Add the diced potatoes, cauliflower florets, and diced tomatoes to the skillet. Toss well to ensure all the vegetables are evenly coated in the spice mixture.
Pour in the water or vegetable broth and season with salt. Bring the liquid to a gentle simmer.
Cover the skillet with a tight-fitting lid, reduce the heat to low, and let it cook for 15 to 20 minutes. Stir occasionally, until the potatoes and cauliflower are fork-tender.
Remove the lid and increase the heat to medium for 2 to 3 minutes to allow any excess moisture to evaporate, creating a clingy spice coating.
Remove the skillet from the heat. Stir in the remaining garam masala and fresh lemon juice.
Garnish generously with chopped fresh cilantro before serving warm with rice or naan.