Heat some olive oil in a pan, add the butter, and when it's melted and foaming, fry the mushrooms with the garlic and seasoning for a couple of minutes. Drain well in a large colander.
Repeat the first step with the leeks, once you have trimmed and washed them. Drain them for as long as you can - this makes the filling good and solid.
Mix the cheeses together in a large bowl with a good amount of seasoning until smooth (it helps to warm cheese in a microwave to soften it).
Fold in the mushrooms, leeks and tomatoes, then chill for two hours.
Preheat the oven to 200C/400F/Gas 6.
Lay out six pieces of pastry on a lightly floured surface, and brush with lots of melted butter, then cover with another layer and brush again. Add a final layer, but this time only brush the edges of the pastry.
Divide the chilled filling among the six rectangles and place it in a sausage shape towards the bottom edge of the pastry.
Fold the bottom edge over the filling, tuck in the sides then roll up into a tight parcel and brush with butter.
Put the strudels on a baking tray and cook in the oven for 25 minutes.
To make the sauce, heat the oil in a pan and cook the onion, mushrooms and garlic with seasoning until soft.
Add the stock and reduce down to nearly nothing.
Add the wine and port and reduce by at least half.
Just before serving, whisk in the butter to give it a really great shine.
To serve, pour a little sauce on each plate and sit a strudel on top.