Heat 2 tablespoons the oil in a large cast iron skillet over medium-high heat until very hot but not smoking. Add the meat and sear on all sides.
Add the mushrooms and onions to a bowl and stir in the remaining 2 tablespoons of oil. Season with salt and pepper, to taste, and toss. Add to the skillet around the roast.
Put the skillet in the oven and roast until an instant-read thermometer registers 130 degrees F, about 40 minutes. Remove the roast from the oven to a cutting board and let rest for 10 minutes. Remove the onions and mushrooms from the skillet.
While the beef is resting, prepare the gravy.
Put the skillet on low heat. Add the wine and stock, while scraping up the browned bits on the bottom of the pan. Whisk in the flour until the sauce is thickened and smooth.
Slice the beef into very thin slices. Transfer to a platter and serve with the mushrooms, onions and gravy.