Preheat oven to 350°F (175°C).
Pat dry the beef with a paper towel, lightly season with salt and pepper. Sprinkle flour on the beef and mix. Set aside.
Add the chopped bacon to a large Dutch oven or pot. Sauté the bacon over medium heat for about 6-7 minutes until crisp and browned. Remove bacon with a slotted spoon and place bacon on a plate for later use. Drain excess bacon fat from the pan and leave about1-2 tablespoons in the pan. Add more oil if you do not have enough bacon fat left.
Place the beef, in batches, in the same pot as the bacon fat and sauté until browned on both sides- 2-3 minutes. Remove beef from the pan and place it with the bacon.
Add more oil or bacon fat in the pot, as needed (1-2 Tablespoons more). Then add onions, thyme, garlic, and bay leaves. Sauté for 3-4 minutes or until onions are slightly translucent. Throw in the mushrooms and continue cooking for about 5 more minutes. Remove and set aside.
Throw in celery and carrots and saute for about 1-2 minutes.
Deglaze the pan by pouring in the red wine, beef stock, and water in the pan. Scrape the sides of the pan, using a wooden spoon. Add the tomato paste and stir until fully incorporated.
Return the beef and mushroom mixture back to the pot. Bring to boil, add beef bouillon or cubes (if desired), and lightly season with salt and pepper. Cover the pot and transfer to the lower part of the oven and simmer for 1 ½ -2 hours or until the meat is tender. Adjust cooking times to desired preference beef tenderness.
While you cook, be sure to check on the pot if it has enough liquid. Add more water as needed.
Once the beef is ready, taste and adjust seasonings accordingly with more salt and or pepper.
If using pearl onions, sauté for about 3-5 minutes and place on top of the bourguignon together with reserved bacon.
Garnish with parsley and served with mashed potatoes or noodles. Enjoy!