Start by generously seasoning your steaks with salt and freshly ground black pepper. Heat olive oil in a skillet over medium-high heat. Once hot, sear the steaks for about 3–4 minutes per side for medium-rare, or longer for your preferred doneness. Remove the steaks, cover them in foil, and set aside.
Add butter to the same skillet without cleaning it, as the brown bits from the steak add flavor to the gravy. Once melted, toss in the chopped shallots and minced garlic. Cook for 2–3 minutes, stirring constantly, until the shallots soften and turn translucent.
Sprinkle the flour over the sautéed shallots and garlic, stirring it into the mixture to form a roux. Cook the roux for about 1–2 minutes to remove the raw flour taste, while stirring to avoid clumping.
Gradually pour in the beef broth while using a whisk to mix it smoothly with the roux. Bring the mixture to a simmer, allowing it to thicken into a rich brown gravy. Mix in the Worcestershire sauce (and soy sauce if using) for added depth.
Reduce the heat and return the cooked steaks to the skillet, spooning the brown gravy generously over them. Warm everything through for about 1 minute. Garnish with fresh thyme or parsley for some added color and herby freshness.