Prep the chicken and shrimp – Cut the chicken into small, bite-sized pieces, trimming off the excess fat. Devein shrimp and reserve the head and the shells, reserving them for the shrimp stock.
Make the shrimp stock – Bring the shrimp shells and head to a boil in 2 cups of water and let simmer for about 5-10 minutes. Strain and remove the shrimp shells.
Infuse the herbs – Mince the galangal, rip the kaffir lime leaves, and chop the lemongrass using the top part. Smash the garlic clove as well to release flavor. Add them all to the shrimp stock and let simmer for about 5-10 minutes.
Cook the chicken and shrimp – Strain the herbs out and add in the raw chicken and shallots if using. Turn the heat to medium-high heat and cook until the chicken is almost done, about 2-3 minutes, before adding in the shrimp. Cook until both the chicken and shrimp are fully cooked, about 2-3 more minutes.
Cook the noodles – In a separate saucepan, bring water to a boil and cook noodles according to the package directions.
Season the soup – Season with fish sauce, sugar, lime juice, and nam prik pao. Mix thoroughly and adjust to taste if needed.
Create your noodle bowl – Add your cooked noodles to a bowl, and pour the soup and proteins over the noodles.
Garnish and enjoy – Garnish with cilantro, top with soft-boiled egg if desired, and enjoy.