The beef. Preheat oven to 450°F (230°C).
Heat the olive oil in a large dutch oven or any stove and oven-safe pan. Cook the bacon for 2-3 minutes, until it is lightly browned. Using a slotted spoon, remove the bacon from the pan and set aside. Leave all the fat, we will need it to cook the beef.
Dry the beef using paper towels. It won't brown if it is too damp. Reheat the fat and saute the beef cubes for a minute or so on each side, until the pieces are evenly browned on all sides. Once again, remove with a slotted spoon and set aside.
In the same fat, add the carrot and onion, and brown them for few minutes. Pour out the fat, leaving the vegetables in the pan.
Return the beef and bacon and toss them with salt and pepper. Sprinkle the flour over, and toss again.
Place the pan, uncovered, to the preheated oven for 4 minutes. Toss the meat, and return to the oven for 4 more minutes. Remove from the oven and reduce the temperature to 325°F (160°C).
Add the wine, stock (the liquid should barely cover the meat), tomato paste, garlic, and thyme. Bring to simmer on top of the stove. Cover the pan and return it to the oven. Cook for 3-4 hours, until the meat is fork tender. Meanwhile, prepare the onions and mushrooms.
The braised onions. Heat the butter and oil in a skillet, until bubbly. Add the onions and cook over medium heat for 10 minutes, rolling them around from time to time so they would brown evenly. Pour in the beef stock and season with salt and pepper to taste. Bring to a simmer and lower the heat. Cover and simmer for 40-50 minutes if using fresh onions, or about 20 minutes if using frozen ones. The liquid should evaporate and the onions should brown. Set aside.
The sauteed mushrooms. Heat the butter and oil in a skillet over high heat. Add the mushrooms and cook for about 10 minutes, stirring, until golden brown. Season with salt and pepper to taste.
The assembly. When the meat is cooked, pour all the mixture through a sieve. Collect the sauce in a saucepan or a glass bowl and let rest for few minutes.
Return the beef to the pan. Arrange the onions and mushrooms over the meat.
Skim fat off the sauce. You should get about 2 ½ cups of the sauce. It should be thick enough to coat a spoon lightly. Taste and adjust seasoning if needed. Pour the sauce over the beef, onions, and mushrooms.
You can serve Boeuf Bourguignon with boiled potatoes, or anything you like. Enjoy!