Start about 40mins before eating.
Slice the green onions finely, chop enough cilantro for finishing the dish and pick the leaves of basil, if using. Add together to a bowl. Reserve any cilantro and basil stalks.
Finely slice enough chillies and garlic for finishing the dish and set them aside. Rougly chop the rest of chillies and pass the remaining garlic through a press. Add to the cilantro stalks.
Dice a little ginger into thin matchsticks and add to the chilli-garlic topping bowl.
Finely slice the mushrooms and break the bok choi into leaves, if wanted. Set aside.
Select a metal pot large enough for the stock and another for cooking the noodles. Fill the second pot with enough water.
If using whole spices, toast them until fragrant in the soup pot. Remove to a bowl.
Start the pasta water so it boils by the time stock is ready.
Fry the onion in a little neutral oil (eg. refined sunflower oil). Pour in the stock and add the spices, ginger, ground garlic, chilli slices and cilantro/basil stalks. Boil for a while until flavorful (approx. 15 mins). Before it’s ready, season to taste with fish sauce, soy sauce and lime juice. Strain keeping just the liquid and discarding the solid bits.
Add a little neutral oil and toasted sesame oil to the empty soup pot and fry/saute the beef until it changes color and it’s good to eat (medium rare). Season with a little fish sauce, soy sauce and lime juice while it’s cooking. Drain the beef discarding any liquid, then wash the pot.
Start boiling the noodles according to package instructions. Once done, drain and quickly rinse with cold water for a few seconds.
While the noodles are boiling, return the flavored broth to the first pot. Bring to a boil and add in mushrooms, bok choi and the chilli-garlic-ginger topping. Once cooked, stir in the green onions* and **herbs.
Dish out noodles and beef, top with pieces of bok choi fished out of the soup, then ladle the mushroom soup on top. Serve immediately.