Preheat the oven to 220˚C, gas mark 7. Put the beef in a large roasting tin. Mix together the mustard powder, salt, pepper, and ½ tbsp oil. Rub over the beef and roast for 20 minutes.
Meanwhile, peel each onion and, leaving the root end intact, cut into 6 wedges. Toss with 2 tbsp vinegar, the sugar and 1 tbsp oil. When the beef has roasted for 20 minutes, spoon away any fat from the tin and add the onions. Reduce the oven temperature to 160˚C, gas mark 3 and roast for 15 minutes per 450g for medium-rare, or 20 minutes for medium.
Stir together 3 tbsp oil, the garlic and herbs. Season well, then toss with the mushrooms and tomatoes. When cooked, place the beef on a board and leave to rest, loosely covered with foil. Increase the oven temperature to 180˚C, gas mark 6. Pour the juices from the tin into a saucepan. Nestle the mushrooms and tomatoes amongst the onions and roast for 20–30 minutes, until turning golden and the onions are sticky.
Spoon away any fat from the juices in the saucepan. Add the stock and 1 tbsp vinegar, boil for 10 minutes until syrupy, then add juices from the resting beef; season. Serve the beef, sauce and vegetables with your choice of potatoes.