Heat two tablespoons of cooking oil in a large casserole and fry the garlic, ginger, spring onions and chilli for a few minutes until soft. Tip into a bowl and set aside.
Toss the beef in seasoned flour, add more cooking oil to the pan and brown the meat in batches, adding more oil as and when needed. Don’t try and brown too much meat in one batch as this causes it to steam. It took us 4 to 5 minutes to brown each batch. Put the browned beef into a large bowl or plate and set aside.
Add the five-spice powder and star anise into the pan, add back the spring onion mix and fry together for a minute. Add the sugar and all the browned beef. Turn the heat to high, add the Chinese cooking wine or dry sherry and mix vigorously, scraping any meaty bits at the bottom of the pan into the liquid.
Preheat the oven to 150 C.
Pour in the soy sauce and stock, bring to a simmer, place the lid onto the casserole and transfer to the oven. Cook for 2.5 to 3 hours, stirring after the first hour.
An hour before the end of the cooking time, add the button mushrooms and stir them in.
If the stew has a lot of liquid, remove the lid half an hour before the end of the cooking time, to allow it to reduce a little.
When the cooking time is up, the beef should be very very soft. Taste, season if necessary and serve.