Start by preheating your oven to 350°F. Place the chopped bacon in your Dutch oven and cook it over medium-low heat until it’s browned and has released some fat. Stir occasionally and use a slotted spoon to remove the bacon, transferring it to a small bowl.
Next, season the beef cubes with salt and pepper. Turn up the heat to medium-high and sear the beef on all sides until it’s nicely browned. You might need to do this in batches. Once done, take the beef out of the pot.
Reduce the heat to medium and melt 2 tablespoons of butter in the pot. Add the chopped onions and carrots, cooking them for 2-3 minutes while stirring frequently. Toss in the chopped garlic and cook for another minute. Then, stir in the tomato paste and cook for 2-3 minutes until it darkens. Sprinkle the flour over the mixture and stir well, cooking for another 2-3 minutes.
Pour in the wine and use a silicone spoon to scrape up any browned bits from the bottom. Add the beef broth and bouillon, bringing the mixture to a simmer. Return the beef and bacon to the pot, along with the thyme and bay leaves. Cover the pot and transfer it to the oven, cooking for 2 1/2 hours.
After 2 1/2 hours, melt the remaining butter in a skillet over medium-high heat. When the butter is hot and foamy, add the mushrooms and cook until they’re browned. Add the pearl onions and cook for another 5 minutes until browned, seasoning with salt and pepper.
Take the beef bourguignon out of the oven and add the mushrooms and onions. Put it back in the oven and cook until the beef is very tender, another 45-60 minutes. Once done, remove it from the oven and let it sit, covered, for 30 minutes before serving.