Heat the oil in a large skillet over medium heat until shimmering. Add the cumin seeds and let them crackle for about 30 seconds, releasing their aroma.
Add the finely chopped ginger and sauté for about 30 seconds until fragrant, filling the kitchen with a warm, spicy aroma.
Stir in the chopped onion and cook, stirring regularly, until translucent and soft, about 5 minutes. The onion should release a gentle sizzle and turn slightly golden.
Add the chopped tomatoes and cook until they break down and the mixture thickens, about 7 minutes. The sauce will become fragrant and slightly oily around the edges.
Stir in the turmeric and cumin powder, cooking for about 1 minute until the spices are fragrant and the color deepens, filling the air with a smoky aroma.
Add the diced potatoes and stir well to coat them with the spice mixture. Pour in water or broth, then cover the skillet and simmer on low heat for 10 minutes, stirring occasionally, until the potatoes start to soften.
Remove the lid and cook uncovered for another 10-15 minutes, stirring gently, until the potatoes are tender and the sauce has thickened slightly.
Stir in the chopped spinach and cook for about 2 minutes until wilted and vibrant green, filling the dish with fresh color and aroma.
Finish by adding lemon juice and a pinch of salt to taste. Stir well and cook for another minute to let the flavors meld.
Remove from heat and let the curry sit for a couple of minutes. Serve hot, garnished with extra lemon if desired, alongside rice or bread for a complete meal.