Prepare the Beef: Season the beef generously with salt and pepper. Add the flour and meat to a large freezer bag, seal it, and shake until the beef is evenly coated.
Brown the Meat: Heat the oil in a large skillet over medium heat. Add the beef and cook for 5 to 6 minutes, stirring frequently, until browned on all sides. Remove the beef from the pan and set aside.
Sauté the Onion: In a large pot, melt 2 tablespoons of butter over medium heat. Add the chopped onion and cook for about 4 to 5 minutes until soft. As the onion cooks, pour the beef stock into the pan and scrape up any browned bits from the bottom.
Add Garlic and Seasonings: If not using mushrooms, stir the minced garlic into the onions and cook for another minute. If using mushrooms, wait until they are added before adding garlic.
Mushroom Variation: In a separate pan, melt 1 tablespoon of butter with 1 tablespoon of vegetable oil over medium heat. Add the mushrooms and cook for 4 to 5 minutes, stirring occasionally, until they start to soften. Season with salt and pepper, then cook for another 2 minutes. Stir in the remaining butter and the garlic, then remove from heat.
Combine Ingredients: Return the beef to the pot with the onions. Stir in the onion soup mix, soy sauce, Worcestershire sauce, and water. Whisk everything together, then cover partially and bring to a boil. Reduce the heat to low and let it simmer.
Final Simmer: If using mushrooms, add them and stir everything together. Allow the dish to cook on medium-low heat for about 1 hour, or until the beef is tender.
Serve: Spoon the beef tips and gravy over a plate of warm, fluffy rice.