- 1 lb fish bones
- 5 cups water
- 2 big heads shallots (or 4 small ones)
- 3 cilantro roots or 6 cilantro stems
- 3 cloves garlic, smashed
- 2-inch section peeled daikon radish, optional
- 2 stalks lemongrass, smashed, separate top half and bottom half
- 8 pc galangal
- 10 Kaffir lime leaves
- Dried chilies, to taste, placed under the broiler for 30 seconds to 1 minute to char slightly
- 3 Tbsp fish sauce
- 1 tsp sugar
- 150g oyster or straw mushrooms
- 2 roma tomatoes
- 250g fish meat of your choice, cut into big chunks
- ¼ cup lime juice
- ½ tsp salt to taste
- Jasmine rice (or jasmine brown rice!) for serving
(Before you begin, take the soup pot you’re going to use and add 4 cups of water into it. Take a mental note of what 4 cups of water looks like in this pot, i.e. how deep it is, it’ll come in handy later.)
Make fish stock:
In a pot, add fish bones, water, shallots, cilantro roots, garlic, lemongrass tops, and daikon. Break apart some of the chilies to release the seeds, the more you break the spicier the soup will be, and add to the pot. Simmer on low heat for 45 minutes, skimming off any foam that floats to the top.
Once finished, remove fish bones, cilantro roots, daikon, and lemongrass tops and anything else you don’t want in the final soup. I like to leave the shallots, garlic and chilies in the soup, but you don’t have to. Safety Note: If your fish bones are small or they have fallen apart in the pot, I highly recommend straining out the soup to make sure there are no bones left in the pot!
At this point you should have roughly 4 cups of fish stock (remember that mental note?). If you let it go a little long and it has reduced a bit too much, you can add water to makeup the shortfall. If you have too much, not to worry, you just may need to add a bit more seasoning, that’s all.
Make the tom yum:
Bring the fish stock to a boil, then add lemongrass bottoms, galangal, torn kaffir lime leaves and simmer for 4-5 minutes. Note: the herbs are not meant to be eaten; they are used to infuse flavour into the soup only, so make sure you tell your guests not to eat them, or remove them altogether. What I like to do is remove some of them to make it easier to eat (less stuff to navigate around) but I leave some in there for garnish.
Add fish sauce, sugar, mushroom, tomato, then the fish meat. Simmer until fish is fully cooked; 1-2 minutes depending on the size of your fish. Once the fish is fully cooked, add lime juice, then taste and more salt as needed.
Top with chopped cilantro and serve! My mom loves to put rice in the soup bowl and eat is as a complete meal in one bowl. Whole grain rice such as jasmine brown rice, red rice, or black rice works particularly well in soups. Enjoy!