For the soup, heat the oil in a pan and gently fry the onion and garlic for 2-3 minutes.
Add the white wine and simmer for 2-3 minutes, then add the asparagus and mushrooms and cook for 3-4 minutes.
Add the stock and simmer until the asparagus stems are tender, about five minutes. Stir in the cream and season, to taste, with salt and freshly ground black pepper. Using a hand-held blender, blend until smooth.
For the balsamic tomatoes, heat the oil in an ovenproof pan and fry the tomato halves for about a minute. Pour over the vinegar and place in the oven to roast for about 7-8 minutes.
To serve, place the two halves of tomato on top of each other in a shallow soup bowl and pour the soup around the edges. Top the tomato with the yoghurt and fresh chives and serve.