In a large bowl, combine the ground chicken, garlic, ginger, soy sauce, fish sauce, sesame oil, lime juice, and chopped cilantro. Mix gently until everything is evenly incorporated. Be careful not to overmix, as that can make the meatballs dense.
Shape the mixture into small, bite-sized meatballs. I like making them about one inch wide so they cook quickly and evenly. Set them aside on a plate while you prepare the broth.
In a large pot over medium heat, add a splash of oil and stir in the red curry paste. Cook it for about a minute to release its aroma and deepen the flavor. This step really enhances the overall taste of the soup.
Pour in the chicken broth and bring it to a gentle simmer. Stir in the coconut milk and let everything blend together. The broth should look creamy and slightly golden.
Carefully drop the prepared meatballs into the simmering broth. Make sure they are spaced out so they don’t stick together. Let them cook gently for about 8–10 minutes.
The meatballs are done when they float to the top and are cooked through. Avoid boiling too aggressively, as that can make them tough.
Once the meatballs are cooked, add the sliced mushrooms and red bell pepper. Let them simmer for about 5 minutes until slightly tender but still vibrant.
Add the rice noodles directly to the pot and cook according to package instructions. Stir in the spinach at the very end so it wilts gently without overcooking.
Taste the broth and adjust seasoning with extra lime juice, soy sauce, or fish sauce if needed. I always do a final taste test before serving.
Ladle the soup into bowls and top with fresh cilantro, green onions, and a squeeze of lime. Serve immediately while hot and fragrant.