Gather your equipment: a large skillet, a spatula, a knife, and a cutting board. Heat the skillet over medium heat until shimmering.
Add the diced potatoes to the hot skillet with a tablespoon of oil. Cook for about 5 minutes, stirring occasionally, until they start to turn golden and soften slightly.
Meanwhile, finely chop the onion and crush the garlic. When the potatoes are lightly golden, push them to one side of the pan and add the onion to the empty space.
Sauté the onion for 5-7 minutes until translucent and fragrant, stirring frequently to prevent sticking.
Add the crushed garlic along with ground cumin, coriander, and turmeric to the pan. Cook for 30 seconds until the spices release their aroma, stirring constantly.
Stir in the partially cooked potatoes, coating them evenly with the spice mixture. Let them cook together for about 5 minutes, stirring gently.
Pour in the coconut milk, stirring to combine. Bring the mixture to a gentle simmer, then cover and cook for 15-20 minutes, stirring occasionally, until the potatoes are tender and the sauce has thickened slightly.
In the last 2-3 minutes of cooking, add the chopped spinach to the skillet. Cover and let it wilt, turning bright green and reducing in volume.
Uncover the skillet, stir gently to distribute the spinach evenly, and cook for another minute to meld the flavors. Taste and adjust seasoning with salt or a squeeze of lemon if desired.
Remove from heat and let sit for 3 minutes. Serve hot, garnished with herbs or a drizzle of oil if you like. Enjoy the vibrant, creamy curry with rice or flatbread!