Pat the 4 beef steaks dry and remove any excess fat. Season with salt and freshly ground pepper, then rub lightly with olive oil.
Heat a cast-iron pan on high until very hot. Add the steaks and sear one side for 1 minute until browned with a light crust.
Turn the steaks and sear the other side for 1 minute. Reduce heat to medium-high and continue cooking for 4-6 minutes more on each side, depending on thickness. For medium-rare doneness, the steaks should feel slightly firm when pressed gently in the center.
Transfer the cooked steaks to a plate and cover with aluminum foil to keep warm.
Reduce heat to medium. Melt 2 tablespoons of butter in the same pan. Add the sliced shallots and cook for 5-7 minutes, stirring occasionally, until golden brown.
Pour in the red wine and increase heat to high. Stir frequently and simmer for about 5 minutes until most of the liquid has evaporated.
Pour in the beef stock and simmer on medium-high for 10 minutes until the shallots are soft and the sauce has reduced by about half. Remove from heat and stir in the remaining 3 tablespoons of butter until combined.
Arrange the steaks on serving plates. Spoon the shallots and sauce over the top. Serve immediately.