Heat the olive oil in your large pot or Dutch oven over medium-high heat. Once the oil is shimmering, add the beef stew meat in batches to avoid overcrowding. Brown each piece on all sides until a rich crust forms, about 4-5 minutes per batch. Remove the beef and set it aside.
In the same pot, add the chopped onion and cook for 3-4 minutes until it becomes translucent and fragrant. Stir in the minced garlic and cook for an additional minute, being careful not to let it burn.
Return the browned beef to the pot. Add the sliced carrots, diced potatoes, and chopped celery. Sprinkle in the dried thyme, rosemary, salt, and pepper. Toss everything to combine evenly. Then, pour in the beef broth and add the bay leaves. The liquid should cover the ingredients; if not, add a little water or extra broth.
Bring the mixture to a gentle boil, then reduce the heat to low. Cover the pot and let it simmer for 1.5 to 2 hours. Stir occasionally, checking for tenderness. The beef should be fork-tender, and the vegetables soft but not mushy. If the stew is too thin, remove the lid in the last 20 minutes to reduce and thicken.
Remove the bay leaves and taste the stew. Adjust seasoning with additional salt and pepper if necessary. Serve hot, ideally with crusty bread or alongside a comforting side like Browned Butter Mashed Sweet Potatoes.