A clear, light yet deeply savoury broth loaded with thinly sliced fresh fish, vegetables and fried beancurd, served over rice vermicelli. Two fused traditions, Teochew clear style and Cantonese milky fish-head, now one beloved Singapore category.
Sliced fish soup is a beloved Singapore hawker soup that fuses two traditions: a Teochew-origin clear, delicate style and a Cantonese-origin milky fish-head style. The result is a clear, light yet deeply savoury broth loaded with thinly sliced fresh fish (commonly batang mackerel or promfret), vegetables and fried beancurd puffs, served over rice vermicelli or with rice. Queue-forming stalls across the island have made it a defining hawker soup, prized for its clean, restorative quality.
A crystal-clear, deeply savoury, faintly sweet broth with clean fish flavour, the slices of fish soft and fresh, the beancurd puffs soaked through. Eaten with rice or noodles, it is light, restorative and the clean face of Singapore hawker food.
The broth is built on a quick but intense simmer of fish bones (or fried fish head for the milky style), ginger and tomato, which gives depth without hours of cooking. The fresh fish slices are added at the end and barely cooked through so they stay soft and sweet. Fried beancurd puffs, tomato, lettuce and Chinese wine round it out. The Cantonese version adds evaporated milk for the milky richness. The quick simmer and the brief fish cook keep everything clean.
Variations
A milky version adds evaporated milk. A fried-fish version uses pre-fried slices.
On the Palate
Where Sliced Fish Soup Singapore sits in the Singaporean flavor cloud
Ingredients
Serves 4How it's made
6 steps · 25 min
- 16 min
Fry 200g fish bones in 2 tbsp oil 5 minutes until golden; add 4 slices ginger and 1 chopped tomato; pour in 1.2 litres water.
- 212 min
Simmer 25 minutes; strain to yield 800ml clear, savoury broth.
Watch outSimmer the bones just 25 minutes for a clean, savory broth — this is a quick stock, not an hours-long one, so don't overcook it muddy.
- 35 min
Slice 300g fresh fish (batang or promfret) thinly; season with salt and a little oil.
- 44 min
Bring the broth back to a boil; add 100g fried beancurd puffs and the fish slices; cook 2 minutes just until opaque.
Watch outSlip the fish slices in for just 2 minutes, only until opaque — a minute more and the sweet, soft flesh turns tough and dry.
- 53 min
Add a handful of lettuce and a splash of Chinese wine; season with salt and white pepper.
- 63 min
Ladle over cooked bee hoon or serve with rice; top with fried shallots.
Archive tool suggestions — not reviewed
These legacy suggestions have not been evidence-reviewed and are not presented as required tools.





