For the strudels, heat one tablespoon of the olive oil in a frying pan over a medium heat. Add the mushrooms and garlic and season with salt and freshly ground black pepper. Fry for 2-3 minutes, until slightly softened. Drain the mushrooms of the liquid they have released, discarding the liquid, and set aside.
Heat the remaining olive oil in the frying pan, add the leeks and fry gently until softened. Remove from the heat and set aside.
Mix the ricotta and cream cheese together until smooth in a large bowl and season generously with salt and freshly ground black pepper. Fold in the mushrooms, leeks and tomatoes. Transfer to the fridge and chill for at least two hours.
Preheat the oven to 200C/400F/Gas 6.
Lay out a piece of filo pastry on a lightly floured surface and brush with lots of melted butter then cover with another layer of filo pastry and brush with melted butter again. Add a third layer, but this time brush only the edges of the pastry with butter.
Divide the chilled filling into six long sausage shapes and place one on the bottom edge of the pastry rectangle. Fold the bottom edge over the filling, tuck in the sides and then roll up into a tight parcel. Brush all over with melted butter. Repeat this process to make five more strudels.
Place the strudels on a baking sheet and cook in the oven for 25 minutes, until crisp and golden.
For the sauce, place the port in a pan, bring to the boil and cook to reduce the liquid by half.
Heat the olive oil in a pan over a medium heat. Add the shallots, mushrooms and garlic and gently cook for about five minutes, until soft. Season with salt and freshly ground black pepper.
Add the reduced port, stock and tomato purée to the pan and bring to the boil. Simmer the sauce for 15 minutes to reduce in volume. Just before serving, whisk the cold butter into the sauce.
To serve, pour a little sauce on each plate and sit the strudel on top.