In a 2- to 3-quart pan, combine rice and 2 3/4 cups water. Bring to a boil over high heat and cook until most of the water is absorbed, 7 to 10 minutes. Turn heat to low, cover, and cook until rice is tender to bite, 10 to 15 minutes longer.
Meanwhile, rinse tofu; cut into 1/2-inch cubes and put in a colander to drain.
In a 10- to 12-inch nonstick frying pan over medium-high heat, stir onion, ginger, and garlic in oil until onion begins to brown, 3 to 5 minutes. Add curry powder, coriander, and cayenne and stir until fragrant, about 30 seconds.
Add broth and stir often until boiling. Whack pea carton on a flat surface to separate peas. Pour peas into pan and add tofu. Reduce heat to low, cover, and simmer, stirring occasionally, until tofu is hot, 6 to 8 minutes. Mix cornstarch and 2 tablespoons water. Add to pan and stir over high heat until boiling. Add salt and pepper to taste.
Pour curry into a bowl and sprinkle with cilantro. Mound hot rice in another bowl to accompany curry. Serve with yogurt to add to taste.