In a dry pan over medium heat, toast the cinnamon, cloves, star anise, cardamom, and peppercorns for about 1 minute until fragrant. Transfer to a spice bag or wrap in muslin and set aside.
Heat oil in a pot over medium-high heat. Add shallots and garlic, sauté for 1-2 minutes until lightly golden and aromatic.
Add water and stock, then bring to a boil. Add chicken, ginger and the spice bag. Reduce heat to medium and simmer gently for 15-20 minutes until the chicken is cooked through, skimming any impurities from the surface.
Add fish sauce, brown sugar and white pepper. Taste and adjust seasoning for a balanced salty-sweet profile.
Remove the chicken from the pot, shred the meat, and discard the bones. Return the shredded chicken to the broth if desired, or keep separate for serving.
Add bok choy to the broth and cook for 1-2 minutes until just tender.
Divide cooked rice noodles into serving bowls. Top with shredded chicken and bok choy, then ladle over the hot broth.
Finish with bean sprouts, coriander, lime wedges, chili and crispy shallots.
