Heat a 5 quart dutch oven over medium heat. Add oil and cubed meat. Season with salt and pepper and brown on all sides; about 3-4 minutes. Transfer to a plate.
Melt 2 tablespoons butter in the pot. Add onion and cook until translucent; about 3-4 minutes. Stir in garlic and cook for an additional 30 seconds to a minute.
Sprinkle in the flour and stir to coat. Cook for 2 minutes.
Whisk in the beef broth until well combined.
Add cubed beef, Worcestershire sauce, thyme leaves and bay leaf to the pot. Stir to combine and bring to a boil. Reduce heat to low, and simmer uncovered for 30-40 minutes, stirring occasionally until gravy is thickened and beef is tender. Stir in remaining tablespoon of butter until melted. Taste and add salt and pepper as desired.
Remove bay leaf and serve over mashed potatoes, egg noodles or rice, garnished with fresh minced parsley.
Be careful not to overcrowd the pan which will result in the meat steaming instead of browning. If needed, brown the meat in batches to avoid the pieces being too close together.
For added flavor add sliced mushroom with the onions.
For a richer gravy, add a splash of heavy cream.
Storage: Keep leftovers in an airtight container in the fridge for 3-4 days or freeze for up to 3 months.
Reheating: I recommend reheating in a saucepan on the stovetop, but the microwave works too.