Put the onion, garlic, ginger and 2 tablespoons of water in a food processor or blender and process until you have a smooth purée.
Heat the oil in a large frying pan over a moderate heat. Add the onion purée and cook for 5 minutes, or until the liquid has evaporated.
Add the mushrooms to the pan and cook for 3 minutes, stirring frequently, until just tender.
Stir in the curry powder until the mushrooms are coated. Add the potatoes and salt to the pan and continue stirring until the potatoes are well coated with the spice mixture. Add 1 cup of water and bring to the boil. Reduce to a simmer, cover with a lid and cook for 15 minutes, or until the potatoes are tender.
Add the peas to the pan, stir well, then cook for 2 minutes until heated through. Remove the pan from the heat and stir in the yoghurt. Transfer the curry to a serving dish and serve immediately.
Fresh shiitake mushrooms would also be good for this curry, having a unique steak-like texture and subtle meaty flavour, but they do cost more then portobello or Swiss brown mushrooms.