Peel and dice the carrots and potatoes into roughly 1-inch pieces, keeping the sizes consistent for even cooking.
Heat the oil in a large heavy-bottomed pot over medium heat until shimmering and fragrant. Add the diced onion and sauté for about 5 minutes until translucent and slightly golden, filling your kitchen with a sweet aroma.
Drop in the cumin and coriander seeds, letting them toast for about 30 seconds until they crackle and release a warm, nutty smell. This helps deepen the flavor of the spices in the dish.
Add the chopped carrots and potatoes to the pot, stirring well to coat them with the fragrant spices and oil. Cook for 3-4 minutes until the vegetables start to soften and their edges turn faintly browned.
Pour in the coconut milk along with the chopped tomatoes, stirring gently to combine everything evenly. Bring the mixture to a gentle simmer, then cover the pot and reduce the heat to low.
Let the curry simmer uncovered for about 20-25 minutes, stirring occasionally. The vegetables should become tender, and the sauce will thicken and develop a warm, golden hue. Adjust the heat as needed to maintain a gentle simmer.
Taste the curry and add salt and chili or cayenne pepper if you like some heat. Stir in the chopped cilantro just before serving to add a fresh, lemony brightness that complements the rich flavors.
Let the curry rest off the heat for about 5 minutes, allowing the flavors to meld and deepen. Serve hot with rice or bread, and enjoy the comforting, hearty texture of this simple yet soulful dish.