Peel the Jerusalem artichokes and then cook them whole in boiling salted water, putting the larger ones in first, until they are just tender. Refresh in cold water and drain well.
Rinse the leeks and blanch them briefly in boiling salted water, then refresh in cold water and drain well.
Preheat the oven to 190°C/375°F/gas 5. Heat 15g / ½oz. of the butter in an ovenproof pan and lightly sweat the shallot in it until softened.
Place the seasoned fish in the pan and add the wine or vermouth and 6tablespoons of water. Bring to a simmer, then cover and place in the oven for 3-4 minutes. Remove from the oven, remove the fish from the pan, sprinkle with a little lemon juice and keep warm.
Sieve the cooking liquid into a frying pan. Add the wild mushrooms and cooked artichokes to the pan. Add the cream and whisk in two-thirds of the remaining butter, in small pieces, then season to taste.
Sweat the spinach in pan with last of the butter, some seasoning and the whole garlic clove for about 1 minute. (When cooking spinach like this it is essential that you season as soon as it goes into the pan, otherwise the leaves tend to form a solid mass and the seasoning does not get evenly distributed). Keep warm.
Warm the leeks through in the sauce and then reheat the fish in the sauce.
To serve: pile some spinach in the centre of each of the plates and put the fish on top. Spoon over the sauce, mushrooms and vegetables.