Place your soy granules or soy curls in a medium bowl and cover them with hot water, just enough to fully submerge them. Let them sit and soak for about 10-15 minutes. They’ll absorb the water and become soft and meaty in texture. Once they’re plump, drain them well and use your hands or the back of a spoon to squeeze out any excess water.
In a large pot or deep sauté pan, heat 1 tablespoon of oil over medium heat. Once the oil is hot, add the finely chopped onion. Sauté the onion, stirring occasionally, for about 6–8 minutes until it turns golden and starts to caramelize slightly around the edges.
Stir in the minced ginger and let it cook with the onion for about 30s until fragrant. Then, add the chopped potato and carrot. Mix everything well so the vegetables are coated in the onion-ginger mixture. Cover the pot partially and let the veggies cook for around 10 minutes, stirring occasionally. You want the potatoes to begin softening and get slightly browned on the edges. If they’re sticking to the bottom of the pot or browning too fast, lower the heat and add a tablespoon of water.
Once the vegetables are tender and golden, stir in the tomato sauce or chopped tomatoes. Cook this mixture for another 2-3 minutes until the tomato starts to break down and mix smoothly into the veggies. Then, sprinkle in the garam masala (or your favorite spice blend).
Now add the drained soy curls or granules to the pot along with 1 cup of uncooked rice. Mix everything so the rice and soy are evenly coated with the spiced veggie-tomato mixture. Then, pour in 2 cups of water and stir once more to combine.
Bring the whole mixture to a gentle boil over medium-high heat. Once it starts bubbling, lower the heat to low, cover the pot tightly with a lid, and let it simmer for 10-15 minutes. Avoid lifting the lid while it cooks, this traps the steam and helps the rice cook evenly. After 15 minutes, lift the lid and check the rice. If the water is fully absorbed and the rice is tender, you’re good to go. If the rice is still a bit firm or you see water at the bottom, cover and cook for 3-5 more minutes.
Once the rice is fully cooked, turn off the heat and let it sit covered for another 5 minutes to steam, this makes it fluffier. Then gently fluff the rice with a fork. Squeeze in the juice of half a lemon for brightness and freshness, and stir in chopped cilantro. Taste and adjust salt or lemon juice if needed.
Serve your one-pot rice hot, ideally with a dollop of unsweetened soy yogurt or a crunchy side salad for contrast.