Place a Dutch Oven over medium heat and add 2 tablespoons of oil, heat until shimmering.
Season the beef cubes with salt and pepper and add to the heated oil, brown on all sides, refrain from stirring the meat, except when needed to turn the beef for even browning.
Once browned, remove the beef to a plate and cover with foil.
Deglaze the pot with ¼ cup of beef broth, scraping well the bottom of the pot with a wooden spoon to remove the burnt bits of beef. Transfer the liquid to a cup and set aside.
Return the Dutch Oven over medium heat and add the remaining 2 tablespoons of oil to the pot and heat until shimmering, then add diced onion. Cook until onion is soft and slightly begins to brown, at that point add the sliced mushrooms. Saute until mushrooms are tender, for about 10 minutes.
Add minced garlic, dried thyme, and rosemary, and cook 1 minute longer.
Add the liquid from deglazing the pot and stir to combine.
Add back the browned beef, the Worcestershire sauce, Soy sauce, and the remaining 3 ¾ cups of broth. Cover the pot and bring to a simmer.
Reduce heat to low and simmer for 60 - 90 minutes, or until beef is tender, the longer you cook it, the more tender the beef will become.
Once done, remove everything from the pot and pour the liquid through a strainer into a bowl and the beef and veggies into another bowl, cover to keep it warm.
Over medium-low heat add the butter to the Dutch Oven and melt it. Sprinkle flour over the melted butter and whisk continually for 4 minutes.
Slowly and gradually, while still stirring add 2 cups of the strained liquid to the flour mixture. If the gravy needs more liquid, use the 2 cups of liquid beef broth as needed. Continue to whisk as liquid is added.
Cook the gravy on medium-low heat until it begins to thicken, then add salt and pepper to taste.
Return the beef and mushrooms mixture to the pot and combine it with the gravy.
Serve beef tips and gravy over mashed potatoes or egg noodles.
