In a large pot, bring the fish stock or water to a boil. Add the fish pieces, lemongrass, galangal or ginger, kaffir lime leaves, chopped onion, and minced garlic.
Simmer for 15-20 minutes until the fish is cooked through. Remove the fish and set aside to cool. Strain the broth to remove solids and return the liquid to the pot.
In a separate pan, heat the vegetable oil over medium heat. Add the finely chopped onion and minced garlic, and sauté until translucent.
Stir in the turmeric powder and chili powder, and cook for another minute. Add the sliced mushrooms if using and cook until they are tender.
Add the sautéed onion and garlic mixture to the pot with the fish broth. Stir in the shrimp paste, fish sauce, soy sauce, and palm sugar. Simmer for 5 minutes.
Cook the rice noodles or vermicelli according to package instructions. Drain and set aside.
Add the cooked noodles and bean sprouts to the broth. Simmer for a few minutes until the noodles are heated through.
Ladle the soup into bowls. Garnish with fresh cilantro, lime wedges, and fried onions or garlic. Add optional toppings like boiled eggs, sliced green chilies, and sliced red onions.
Enjoy your meal!