Prepare the Fish: Clean and cut the fish into serving-sized pieces. Set aside.
Make the Broth Base: In a large pot, bring the 5 cups of water to a boil. While the water heats up, lightly pound the garlic, shallot, ginger (or finger root), and chili pepper in a mortar and pestle to release their aromas. Add the pounded mixture to the boiling water and let it simmer for a few minutes.
Add the Fish and Seasoning: Carefully add the fish pieces to the pot. Add the fish sauce, sugar, and salt (and bouillon powder, if using). Gently stir the soup to combine the flavors.
Cook the Vegetables: Begin adding the vegetables to the soup. Start with the harder vegetables first, such as pumpkin, baby corn, or bamboo shoots, and let them cook for a few minutes until they begin to soften.
Finish with Leafy Greens: Add the softer, leafy vegetables like water spinach or ivy gourd leaves. Let them cook for just 1-2 minutes until they are wilted.
Serve: Taste the soup and adjust the seasoning if needed. The broth should be savory, slightly sweet, and aromatic. Ladle the soup into bowls and serve immediately, typically with steamed rice.