Preheat your oven to 160oc/320 Fahrenheit/gas 3
Heat the oil in a lidded casserole dish or dutch oven over medium to high heat.
Season the beef with salt and pepper then add to the pan and brown on all sides.
Add the onions and cook until they start to soften - keep stirring and be careful to not let anything burn or stick to the bottom of the pan.
Add the garlic, carrots and celery and cook for another 2-3 minutes before you stir in the tomato paste and oregano.
Add the bay leaves then pour over the wine. Let it simmer and bubble slightly for 5 minutes.
Pour in the tin of tomatoes and the stock, stir well, bring to the boil then put the lid on and put in the preheated oven.
Cook for 2.5 to 3 hours, checking and stirring a couple of times. You may need to add a splash of water if the sauce is looking a bit thick.
Add the mushrooms. If you want a less chunky sauce you can use the back of a wooden spoon or spatula to gently break up the pieces of beef - they should be lovely and soft. Stir well, then cook for another hour.
Serve with your choice of pasta (rigatoni is my favourite) garnished with some grated cheese and fresh chopped parsley. You could also serve over rice, polenta, mashed potato or with fresh crusty bread.
This recipe will easily sauce a standard 500g/1lb packet of pasta - just cook to package instructions then toss with the ragu. You can also portion it out and freeze or store in the fridge for up to 2 days. You may need to add a splash of water when reheating - some reserved cooking water from your pasta works best.