Preheat your oven to 325°F (165°C).
Heat olive oil in a large Dutch oven over medium-high heat. Brown the beef in batches, ensuring each piece is well-seared on all sides. Remove and set aside.
In the same pot, add the chopped onion and carrots, cooking for about 5 minutes until softened. Add garlic and cook for another 1 minute.
Sprinkle the flour over the vegetables and stir to coat. Cook for 2 minutes to remove the raw flour taste.
Gradually add the beef broth, stirring to combine. Stir in tomato paste, bay leaf, thyme, salt, and pepper. Return the beef to the pot.
Bring the mixture to a simmer, then cover the pot and transfer it to the oven. Cook for 2 to 2.5 hours, until the beef is tender.
While the beef cooks, heat butter in a skillet over medium heat. Add the pearl onions and mushrooms and sauté until golden brown, about 8 minutes.
Once the beef is tender, remove the pot from the oven and stir in the sautéed onions and mushrooms.
Let the dish rest for 10 minutes before serving. Garnish with fresh parsley and enjoy your Beef Bourguignon with mashed potatoes or crusty bread!