Heat the oven to 150C. Put half the onion, the garlic, the rosemary and the celery in a roasting tray and roast for around 20-25 minutes. Add half the wild mushrooms and roast for a further 5 minutes.
Meanwhile, prepare the dauphinoise. Slice the potatoes very thinly or use a mandolin. In a baking dish, place a layer of potatoes, crumble some cheese, pour over a little cream and season with salt and pepper. Continue until you reach the top.
Remove the vegetables from the oven and increase the temperature to 180C. Put the dauphinoise potatoes in the oven for around 25-30 minutes until the potatoes are cooked through and the top is browned and crispy.
Fry the remaining onion in a little olive oil over a medium heat for 1 minute. Add the sugar and reduce the heat to low, stirring now and again until soft and caramelised. Add 100ml of chicken stock and 2 tablespoons of double cream and simmer until thick. Leave to cool before blitzing with a hand blender into a puree.
Put the vegetables from the roasting tray in a pan with the madeira and balsamic vinegar. Simmer on a medium heat until reduced by around half. Add the remaining chicken stock and the beef stock and simmer until reduced to a syrupy sauce.
Cook the steak according to the instructions above, to your liking. Fry the rest of the mushrooms in the pan for a couple of minutes until soft. Take the potatoes out the oven.
For the leeks, cut in half and put in a dry pan on a medium high heat cut side down for 1 minute. Add 50ml of water and a knob of butter and cook on a medium heat until soft, about five minutes.
Serve a portion of potatoes on a plate. Dot some puree around the plate, place the leeks on top and serve the steak topped with the madeira sauce and fried mushrooms. Enjoy!