Rinse the chicken, place in a large pot with enough cold water to cover and bring to the boil, skimming.
Add the onions, ginger, cinnamon, cardamom, star anise, sugar and salt. Simmer for 30 minutes, remove chicken, carve off breasts, and set aside. Return the chicken to the broth and simmer for a further 30 minutes.
Strain the broth and finely slice the chicken breast and leg meat. Gently reheat the broth with the fish sauce, and 2 tbsp fried shallots.
Cover the noodles with hot water, gently separate using chopsticks, and drain.
Divide the noodles between four deep, warmed soup bowls.
Arrange the chicken meat on top; ladle the hot broth into each bowl, and scatter with remaining fried shallots, spring onions, bean shoots, chilli, mint, basil and coriander. Guests squeeze lime wedges into broth to taste.