Heat the butter in a large saucepan or casserole and add the chopped onion and garlic. Cook over a low heat until soft.
Wipe the mushrooms clean, trim the stalks and thinly slice, reserving a good few slices for the garnish. Tip the remaining mushrooms into the butter, stir and cook for about 15 minutes until the mushrooms are brown and the liquid has all but evaporated. Stir in the Madeira or sherry and the porcini powder if using.
Add the stock, bring to the boil then add the sliced potato. Simmer until the potato is soft.
Strain, reserving the liquid and blitz in a blender or food processor, gradually adding back the reserved liquid until you have a smooth soup. Return to the pan, add the mustard and reheat gently without boiling.
Check the seasoning, adding salt, pepper and lemon juice to taste.
To serve, fry the reserved mushroom slices in butter. Serve the soup with a swirl of cream and the fried mushrooms.