Peel and dice the potatoes into 1-inch cubes. Set aside.
Finely chop the onion, preparing it for sautéing.
Heat the vegetable oil in a large heavy-bottomed pan over medium heat until shimmering and fragrant.
Add the chopped onion to the pan and sauté for 5-7 minutes until translucent and soft, with a gentle golden hue and a sweet aroma filling the kitchen.
Stir in the turmeric and garam masala, cooking for about 30 seconds until the spices release their fragrant aroma.
Add the diced potatoes to the pan and stir well to coat them with the spiced onion mixture. Cook for 2-3 minutes, allowing the potatoes to absorb the flavors.
Pour in the canned diced tomatoes and stir to combine, then cook for 8-10 minutes until the tomatoes have broken down and created a rich, fragrant sauce.
Pour in water or broth, bring the mixture to a gentle simmer, and cover loosely. Let it cook for 15-20 minutes until the potatoes are tender and easily pierced with a fork.
Rinse and drain the frozen peas, then stir them into the curry during the last 3-4 minutes of cooking to keep their vibrant color and fresh flavor.
Uncover and simmer for another 2-3 minutes to allow the sauce to thicken slightly, then remove from heat. Taste and adjust seasoning as needed.
Garnish with chopped cilantro if desired and serve hot with rice or flatbread, enjoying the warm, fragrant aroma and hearty texture.