Peel and cube the potatoes into roughly 1-inch pieces, then set aside in cold water to prevent browning.
Heat the oil in a large pan over medium heat until it shimmers. Add the cumin seeds and listen for them to crackle, releasing their aroma.
Stir in the chopped onion and cook, stirring frequently, until it turns golden and fragrant—about 5 minutes. The kitchen fills with a sweet, caramelized aroma.
Add the minced garlic and ginger, cooking for another minute until fragrant and slightly bubbly. The mixture should smell warm and earthy.
Stir in turmeric powder and a pinch of salt, cooking briefly until the spices release their aroma and turn a deeper color.
Add the cubed potatoes to the pan, stirring well to coat them in the spice mixture. Cook for 2 minutes, allowing them to absorb the flavors.
Pour in enough water (about 1 cup) to just cover the potatoes. Bring the mixture to a boil, then reduce the heat to a simmer. Cover and cook for 10-12 minutes until the potatoes are tender and easily pierced with a fork.
Uncover the pan, add the chopped tomatoes, and stir well. Cook for an additional 3-4 minutes until the tomatoes break down and meld with the spices, creating a fragrant, slightly thickened sauce.
Add the fresh spinach in batches, stirring quickly to wilt each handful and incorporate it into the curry. Cover and cook for 2-3 minutes until the greens are vibrant and tender.
Remove the lid, stir gently to combine everything, and taste for seasoning. Adjust with salt and pepper as needed. If the curry looks too watery, simmer uncovered for a few more minutes until it thickens slightly.
Let the curry rest off the heat for 2 minutes to allow flavors to meld. Serve hot, garnished with fresh herbs or a squeeze of lemon if desired.