Heat oil in a large heavy-bottomed pan over medium heat until shimmering and just starting to smoke slightly.
Add the diced onion and cook, stirring often, until golden and fragrant, about 5-7 minutes. You should hear a gentle sizzle and see the onions turn a rich amber color.
Stir in the minced garlic and cook for about 1 minute until fragrant, making sure it doesn't brown too quickly to avoid bitterness.
Add the toasted cumin, coriander, and turmeric, stirring constantly for about 30 seconds until the spices release their aroma and turn a shade darker.
Toss in the diced potatoes and stir well to coat them with the spices and aromatics. Cook for 3-4 minutes, allowing the potatoes to start absorbing the flavors and developing a slight sheen.
Pour in the chopped tomatoes along with water or broth, stirring to combine. Bring the mixture to a gentle simmer, then cover partially with a lid or foil and reduce the heat to low.
Let the curry simmer gently for about 15 minutes, stirring occasionally, until the potatoes are tender and the sauce has thickened slightly, coating the ingredients with a glossy finish.
Stir in the frozen peas and cook uncovered for another 5-7 minutes, until the peas are bright green and heated through, and the sauce is thickened to your liking.
Season with salt and chili flakes, tasting and adjusting the seasoning to your preference.
Remove the curry from heat and let it rest for a couple of minutes, allowing the flavors to meld beautifully.
Garnish with freshly chopped cilantro or mint, then serve hot alongside rice or flatbread for a cozy, flavorful meal.