Place the above ingredients in a blender and using just as much water as is necessary, process to a thick, fairly smooth paste.
Heat oil in a large, fairly deep pan like a Dutch oven
Add the onions and saute on medium heat until soft and translucent.
Add the ginger and garlic and stir for a minute.
Add the garam masala and stir to coat with the oil, about a minute.
Add the spice paste and stir well. Cook, on medium-low heat, stirring frequently to keep the paste from sticking to the bottom. Cook about 10 minutes or until the paste no longer has a raw smell and taste.
Add the yogurt and stir in and cook a couple more minutes.
Add the mushrooms and stir in. Add salt to taste.
Cook a few minutes until the mushrooms start to soften and express their juices. Add the potatoes and half the coconut milk.
Bring to a boil on medium heat, then continue to simmer for about 3-4 minutes.
Add the coconut milk and turn off heat immediately so the curry does not boil again.
Garnish with coriander leaves and, if desired, fried onions.
Serve hot with naan or with boiled rice.