Heat a saucepan and add the onion and garlic to it. Add 2 tbsp water and saute the onion and garlic over medium heat until the onions soften and start to change color, about five minutes.
Add the tomatoes along with the coriander powder, cumin powder, cayenne, turmeric and kasoori methi. Stir well, cover, and cook for 5 minutes or until the tomatoes are very soft and mushy. Stir in the cashew nuts and turn off the heat.
Let the onions and tomatoes cool slightly, then add a cup of cold water and use an immersion blender to blend to a smooth consistency or transfer to a blender and blend into a very smooth paste. Use caution. When blending hot liquids, I fill the blender only halfway, remove the blender's center insert and hold a kitchen towel over the top, and then blend. This keeps steam from building up inside the blender which could blow the lid off.
Rinse the saucepan and place over the stove over medium heat. Add the mushrooms to the pan along with a little salt and pepper. Stir-fry the mushrooms in the dry pan until they begin to caramelize, about three to four minutes. Add the peas and cover until peas are cooked, which should take no more than two to three minutes.
Add the blended sauce to the pan and give it a good stir. Add the garam masala and check if more salt is needed. Add water if the sauce looks too dry. Stir in the sugar.
Heat through and once the mixture comes to a boil, turn it off. Garnish with coriander, if you wish, or serve as is.