Peel the onion. Slice it into thin wedges. Peel the ginger. Slice it into matchsticks. Halve the cabbage. Finely slice one half, discarding any tough middle bits. Rinse the shredded cabbage. Fill a kettle and boil it.
Turn your oven onto its lowest setting. Heat 2 tsp olive oil in a deep frying pan or wok. Brown the beef in two batches, for around 1-2 mins each. Pop on a plate and put in the oven to keep warm once they are done.
Pour 200ml hot water from the kettle into the frying pan. Let the liquid bubble for 30 secs while you give it a stir. Pour back into the measuring jug. Top up so you have 1.4 ltrs hot water.
Wipe the pan clean with kitchen paper. Heat 1 tsp oil in it. Add the onion and ginger. Stir-fry for 3-4 mins till soft and slightly coloured. Add the cinnamon stick, star anise and 2 tsp of coriander seeds. Stir-fry for 1 min.
Pour the hot water into the pan. Cover. Bring to the boil . Turn the heat down and simmer for 5 mins so you have an aromatic broth.
Stir the cabbage into the broth. Simmer for 2 mins without the lid on so the cabbage is just starting to cook. Add in the noodles. Simmer for 3 mins, separating the strands using a couple of forks.
While the noodles simmer, rinse the chilli and slice it into rounds. Halve the lime. When the noodles are just soft, stir the beef strips into the broth. Taste and add salt if you think it needs it.
Divide the soup between 2 large warm bowls. Top with a handful of the bean sprouts and the sliced chilli. Serve with a lime half each for squeezing.