Peel and dice the potatoes into 1.5 cm cubes, then set aside. Rinse the spinach and chop if large.
Heat the oil in a large skillet over medium heat. Once shimmering, add the chopped onion and sauté for 5-7 minutes until golden and fragrant, hearing a gentle sizzle.
Add the minced garlic and grated ginger to the onion. Cook for about 30 seconds until you smell a fragrant aroma and see the mixture become slightly frothy.
Stir in the cumin, turmeric, and garam masala, and toast the spices for 30 seconds until fragrant and slightly darker in color.
Add the diced potatoes to the pan, stirring to coat them evenly with the spices. Cook for 2 minutes, then pour in the crushed tomatoes.
Lower the heat slightly and let the mixture simmer uncovered for about 10 minutes, stirring occasionally, until the potatoes are tender and the sauce has thickened slightly.
Add the chopped spinach to the curry, stirring until wilted, about 2-3 minutes. If using frozen spinach, squeeze out excess water beforehand.
Season the curry with salt to taste and squeeze fresh lemon juice over it for a bright finish. Stir gently to combine.
Turn off the heat and let the curry rest for a couple of minutes to allow flavors to meld. Then, serve hot with rice or flatbread.