Heat 2 tbsp of the oil in a large, shallow casserole. Fry the garlic, ginger, onions and chilli for 3 mins until soft and fragrant. Tip onto a plate. Toss the beef in the flour, add 1 tbsp more oil to the pan, then brown the meat in batches, adding the final tbsp oil if you need to. It should take about 5 mins to brown each batch properly.
Add the five-spice and star anise (if using) to the pan, tip in the gingery mix, then fry for 1 min until the spices are fragrant. Add the sugar, then the beef and stir until combined. Keep the heat high, then splash in the wine or sherry, scraping up any meaty bits. Heat oven to 150C/fan 130C/gas 2.
Pour in the soy and stock (it won’t cover the meat completely), bring to a simmer, then tightly cover, transfer to the oven and cook for 4 hrs, stirring the meat halfway through. Allow 6 hrs for the meat to cook if using a slow cooker. The meat should be very soft, and any sinewy bits should have melted away. Season with more soy. This can now be chilled and frozen for up to 1 month.
Nestle the cooked bok choi into the pan, then bring to the table with the basmati rice straight away and tuck in.