You need a large pan or casserole with a lid that goes from stove top to oven.
Preheat the oven to 325°F or 170°C (160°C for fan ovens).
Heat 2 tablespoons of the oil over medium heat.
Sauté the onion until it begins to become translucent, but do not let it brown.
Add the mushrooms and cook for a minute or so.
Mix the flour, salt and pepper together and put it in a bag.
Add the beef cubes, working in batches if necessary, shaking to coat the cubes with the flour mixture.
Add the flour coated beef cubes to the onion, adding a bit more oil if necessary.
Brown the meat, stirring constantly, for two or three minutes.
Stir in the beef stock and the red wine.
Add the tomato puree or paste and herbs and stir together thoroughly.
Add the carrots and stir through.
Place the casserole in the oven and cook for an hour and a half, stirring every half hour. Turn the heat back a bit if the sauce begins to thicken too quickly.
Remove the casserole from the oven.
Depending on the water content of your vegetables and the meat you have used, the sauce may need adjusting at this point. If the sauce is too thick you can add a bit more stock or red wine and stir through to loosen it. Should it be too runny, stir one tablespoon of corn flour in two tablespoons of water to make a runny paste and stir it through the sauce. Either way, return the casserole to the oven and cook for about five to ten minutes just to heat everything through.
Remove the casserole from the oven again, taste the sauce for seasoning and add more salt and pepper if necessary.
Leave the lid on the casserole and set it aside on a heat proof surface. Let the Boeuf Bourguignon rest for about 10 to 15 minutes.
Serve over rice, mashed potatoes or couscous.