Roast the sooji (semolina) in a wok (kadai) or a broad pan.
Heat the wok on medium heat and pour the sooji into it. Dry roast by stirring the sooji constantly for two minutes till fragrant and slightly brown.
Remove from heat and pour onto a plate or thali (rimmed steel plate) to cool.
Wipe the wok or pan of any residual roasted sooji.
Pour in 2 tablespoons of oil and heat on medium heat.
When hot( not smoking), add the mustard seed. Let crackle for 30 seconds, then add the curry pata (be careful of it splattering).
Stir for 30 seconds, and then add the lentils. Stir it.
Now add the chopped onions. Stir fry until the onions turn translucent. About 3 minutes.
Add the chopped green chili and stir.
Now add the water and salt. Do a taste test. Turn the heat to medium-high and bring the water to a rolling boil. The water should be slightly salty.
Once boiling, reduce the heat to low. Pour in the peanuts and/or cashew nuts (your choice), and stir them.
Using a spoon or your hand, pour the roasted sooji into the water with one hand while quickly stirring the mixture with the other until you use all the sooji. Stir and mix well.
To make it easier, you can put the roasted sooji into a measuring jug, so it is easy to pour. Do this quickly, as the sooji immediately absorbs the water and forms lumps.
Cover and let the sooji steam on low heat for about 2 minutes. Turn off the heat.
Uncover the lid and squeeze the juice of the half lemon all over the cooked sooji.
Add the desi ghee or butter. (Clumps are fine or you can melt the ghee or butter a bit and then add it).
Stir well, breaking up any sooji lumps. Cover and let rest for another 2 minutes.
Transfer the uppama to a serving dish and sprinkle with chopped cilantro.
Uppama can be eaten by itself or with coconut or peanut chutney. I like to top it with extra nuts.