The Bowl That Stayed Clear: How Fish Soup Became a Singapore Comfort Food
The bowl arrived on a plastic tray, still trembling from the walk between the stall and my table.
Pale broth, almost colorless. A few slices of white fish resting just under the surface. Leaves of cabbage, a wedge of tomato gone soft at the edges, a scattering of spring onions. Steam rose slowly in the late-morning heat while a ceiling fan clicked overhead.
I’ve eaten at all the famed fish soup spots on the island, usually when I’m tired or unwell, or just in need of something that asks very little of me. Lately I’ve been wondering how a soup this restrained became one of the island’s most familiar comforts. The answer, like the broth, is quieter than you might expect.
Fish Soup in Singapore: A Southern Chinese Idea That Became Local
It would be easy to call fish soup a Chinese dish that simply arrived here. That isn’t quite right. It’s better understood as a Singapore hawker dish shaped by southern Chinese, and especially Teochew, ways of cooking, which grew into something of its own over generations.
Teochew Cooking
Many of the migrants who came from southern China in the 19th and early 20th centuries brought coastal food habits with them. Teochew cooking in particular has long prized fresh seafood, clean broths, and restrained seasoning.
The idea is to let good fish taste like itself, supported by ginger and perhaps a little salted or dried seafood for depth. Dried sole fish, toasted and simmered into stock, is one of those quiet Teochew touches. It gives a broth extra sweetness without making it heavy.
It’s the opposite of stir fries, where heat, sauce, and wok smoke push flavour to the front.
It sorta has the same philosophy as Vietnamese pho, where it remains clear as well but the flavors of beef neck, bone marrow, and leg bones are meant cloud your mouth in a way that surprises you.
In Singapore, those instincts met the wet market. A fish monger would sell a whole fish, or fillets with the bones set aside for stock. Cooks worked with what was local and affordable, such as red snapper, batang, and other firm white fish.
Migration into Singapore’s Hawker Culture
When street cooking moved into hawker centres, the soup became a lunch you could count on: quick, nourishing, and honest. Over time, local preferences that the likes of Eat Play Stay have caught on pulled it in new directions, toward fried fish, fish head, and broths enriched with milk. The Teochew idea stayed at the root. The bowl became Singaporean.
What Makes the Best Fish Soup Taste So Clean?
The best fish soup isn’t necessarily the strongest one. It’s the one where nothing is shouting.
That balance starts with fresh fish. If the fish isn’t fresh, no amount of seasoning will hide it.
A proper fish stock comes next, built from bones rather than powder. Ginger keeps any fishiness in check and adds warmth. Dried sole fish brings a gentle, rounded sweetness. The natural fats from the bones give the broth body, so it feels complete on the tongue rather than thin.
The vegetables do real work, too. Tomatoes add a mild acidity and sweetness that brighten the broth. Chinese cabbage soften into it and release their own sugars. Bitter gourd, for those who love it, adds a faint bitterness that keeps the clean tasting soup from becoming too sweet. Each one is small.
Together, they make the bowl feel considered.
The Core Fish Soup Recipe
Serves: 4
Prep time: 20 minutes
Cook time: about 1 hour
You’ll need:
1 kg fish bones,
400 g white fish fillets,
2 tbsp neutral oil,
6 to 8 ginger slices,
1 tbsp Shaoxing wine (optional),
2 litres hot water,
20 g dried sole fish,
300 g pork bones (optional),
2 tomatoes,
¼ head Chinese cabbage,
and a few slices of bitter gourd (optional).
To season, have:
fish sauce,
light soy sauce,
salt,
white pepper,
and sesame oil on hand.
To finish, prepare spring onions, fried shallots, and rice or noodles.
Start With Fish Bones and Fish Stock
Rinse the fish bones and pat them dry with paper towels. Wet bones spatter and steam instead of browning. Heat the neutral oil in a big pot over medium high heat, then add the bones and ginger slices and pan fry until the edges turn lightly golden. That browning builds the soup base.
If you like, add a splash of Shaoxing wine and let it sizzle off. Pour in the hot water, then add the dried sole fish, toasted briefly in a dry pan first. For a richer version, add pork bones that you’ve blanched separately. They give the broth more body, the way some hawkers do it.
Why Boiling Water and a Rolling Boil Matter
How you boil decides what kind of soup you get.
Keep it at a gentle simmer and the broth stays clear. Bring it to a rolling boil over high heat for 15 to 20 minutes and the movement breaks the natural fats and proteins into tiny droplets, turning the broth cloudy and pale. That’s how a naturally white soup is made, with no milk involved. Adding hot or boiling water rather than cold helps keep the soup at full boil.
Either way, simmer for about 40 minutes in total, then strain and season with salt, fish sauce, and light soy sauce.
Preparing Fish Slices and Fish Fillets
Choose a firm white fish that holds together in hot broth. Red snapper and batang both work well.
Cut the fish fillets into evenly thinly sliced pieces, about half a centimeter thick, so they cook at the same pace. Pat dry, then season lightly with a pinch of salt, white pepper, and a few drops of sesame oil.
Cooking Sliced Fish Without Losing Its Texture
Add the tomatoes, cabbage, and bitter gourd to the strained stock first and let them soften. Then lower the pot to medium heat and let the soup bring itself back to a gentle bubble.
Slip in the sliced fish and cook for only a minute or two, until the meat turns opaque. A hard boil toughens tender fish, so turn off the heat as soon as the fish slices are just done.
Finish the Bowl and Serve Hot
Ladle everything into a bowl. Scatter spring onions and fried shallots on top, then add a final drop of sesame oil and a pinch of white pepper.
Serve immediately with rice or noodles and a small dipping sauce of sliced red chilli in light soy sauce. Fish soup is meant to be eaten with the steam still rising, so serve hot.
Fish Soup Variants: From Sliced Fish to Fried Fish
1. Fried Fish Slices: The Richer, Crispier Version
Some days call for something heavier.
Toss the fish slices lightly in cornstarch or a thin batter, then fry them in oil over medium heat. Raise it to high heat for the last few seconds if you want a crisper edge.
When they’re golden, drain the fried fish slices on paper towels and add them to the bowl just before serving. The fried fish softens slightly in the broth and gives the soup a toasty richness that sliced fish never quite has.
2. Milky Broth: Evaporated Milk or Naturally White Soup?
There are two ways to get a milky broth.
The first is the rolling-boil method described above, where natural fats and boiling water turn the stock pale on their own.
The second is common at many Singapore stalls: a pour of evaporated milk stirred in at the end. Many people simply call it Carnation milk, the way you’d name the tin you grew up seeing. The milk makes the soup creamier and rounder, though less clean.
Neither is wrong. They’re just different moods.
3. Fish Head Soup
A whole fish head makes a deeper broth.
The skin, bones, connective tissue, and pockets of meat release gelatin as they cook, giving the soup a silkier, more rounded body. It takes more patience to eat, with all those small bones, but many people think it’s the most rewarding bowl of all.
How to Get Your Fish Soup Fix at Home
Buy the freshest fish you can find, ideally at a wet market in the morning.
Ask the fish monger for both bones and fillets, because the bones are where your soup base begins. Don’t skip the stock. It’s the difference between a soup and a bowl of hot water with fish in it.
Cook the fish last and briefly. Decide early whether you want a clear, naturally white, or milk-enriched broth, and boil accordingly.
The prep time is short. The patience is the real ingredient.
A Simple Bowl, a Longer Story
I think back to that bowl on the plastic tray, the steam curling up under the ceiling fan.
It didn’t look like much, and it wasn’t trying to. Inside it, though, was a long journey: southern Chinese and Teochew habits of cooking, carried here by people who missed the coast they had left. Those habits met Singapore’s wet markets, its hawker centres, and its local fish, then changed a little with each generation.
Fish soup has lasted not because of excess, but because of restraint. Fresh fish, a broth built with care, and balance where it counts. Some dishes demand your attention. This one simply waits until you’re ready to listen.






