Heat the oil in a large pan over medium heat until it shimmers and begins to ripple.
Add the chopped onion and cook, stirring occasionally, until it turns golden and fragrant, about 5-7 minutes.
Stir in the cumin seeds and toast for about 30 seconds until they release their aroma.
Add the turmeric and garam masala, stirring quickly to coat the onions and toast the spices for about 30 seconds, enhancing their fragrance.
Pour in the diced tomatoes and stir to combine, then reduce the heat to low and simmer, uncovered, for 10 minutes until the sauce thickens slightly and the oil begins to separate from the tomato base.
Meanwhile, peel and cube the potatoes into roughly 1.5cm pieces, then add them to the sauce, stirring well to coat with spices.
Cover the pan and let the curry simmer gently for about 15 minutes, stirring occasionally, until the potatoes are tender and starting to break down, creating a silky sauce.
Stir in the frozen peas directly from the freezer, mixing well, and cook uncovered for another 5 minutes until the peas are heated through and vibrant green.
Taste the curry and season with salt and pepper as needed, stirring to incorporate the flavors.
Remove the pan from heat and let the curry sit for 5 minutes to allow flavors to meld and deepen.
Serve hot, spooned over rice or with flatbread, garnished with fresh herbs if desired.