1. Place the white wine, shallots, thyme and lemon juice in a small sauce pan over a medium heat, reduce the liquid by half, then strain and discard the shallots and thyme. Poor the liquid back in the pan. Add the cream and put back on a low heat. Slowly whisk in the butter bit by bit until it has all dissolved. Season with salt and pepper and leave in a warm place.
2. Heat the olive oil in a large pan, add the sliced garlic and spinach, and cook until all the spinach has wilted. Remove from the heat and drain.
3. Place the spinach in a food processor until you have a fine puree. Season with salt and pepper and place in a small saucepan, and leave to one side.
4. Season the halibut steaks with salt and pepper.
5. Heat the olive oil and butter in a large non-stick frying pan, when the butter starts to brown add the halibut steaks and cook for 3 to 4 min on each side or until the halibut is just cooked. Remove from the frying pan and keep in a warm place. Reserve the juices in the pan.
6. Put the pan back on the heat, add the mushrooms, cook for a couple of minutes until the mushrooms are just cooked, then add the vinegar and season with salt and pepper and turn off the heat.
7. Gently warm the spinach and the butter sauce, and then add the caviar to the butter sauce. Serve the halibut with the spinach, mushrooms and butter sauce.