Fish soup is one of Singapore's quiet specialties. Not the loudest dish, not the prettiest, but a fixture of every hawker centre and most coffee shops. A bowl of sliced fish soup with a swirl of evaporated milk, a generous portion of fish head bee hoon, and a tureen of bright orange fish head curry — three different traditions, all built around fresh fish landed daily at the wholesale markets.
Where Singapore's fish comes from
Most Singapore fish lands at the Senoko Fishery Port in the north or at the older Jurong Fishery Port in the west — both are wholesale markets that supply hawker stalls and restaurants across the island. Common fish for soup: batang (Spanish mackerel), red snapper, pomfret, grouper and the everyday cod sliced fish on most hawker boards.
Dish 1 · Sliced fish soup (yu pian tang)
The classic sliced fish soup is sashimi-thin slices of cod or batang, blanched in a clear broth heavy with napa cabbage, tomato, fried garlic, ginger, spring onion and Chinese wine. The signature move: ask for "milk" and the auntie adds a generous splash of evaporated milk that turns the broth pale and slightly creamy. Served with rice on the side or in the soup.
Where to eat it:
- Pek Kio Market & Food Centre (Owen Road) — the sliced fish stall here is one of Singapore's most consistent.
- Han Kee Fish Soup at Amoy Street Food Centre — queue-worthy, premium fish on the side.
- Piao Ji Fish Porridge at Maxwell Food Centre — old-school, no-milk style.
NS20 — closest to Pek Kio Market.Telok Ayer MRT ·
DT18 — closest to Amoy Street Food Centre.Maxwell MRT ·
TE17 — Maxwell Food Centre.
Dish 2 · Fish head bee hoon
Fish head bee hoon is the same milky-soup tradition built around a whole fish head — usually red snapper or batang — with rice vermicelli, deep-fried fish slices, tofu, vegetables and a generous splash of evaporated milk. It's hearty, oily-rich, and one of the most reliable "I'm tired and hungry" hawker lunches in Singapore.
Where to eat it:
- Ka-Soh Fish Head Noodles on Outram Park / Telok Blangah area — one of the longest-running specialists, around since the 1930s.
- Ng Soon Kee Fish & Duck Porridge at Whampoa Food Centre — old-school version.
- Tian Wai Tian in Geylang — the steamboat version, which scales nicely if you bring a group.
- Aljunied Fish Head Bee Hoon at Old Airport Road Food Centre — an east-side favourite.
EW16 / NE3 / TE17 — closest for Ka-Soh.Mountbatten MRT ·
CC7 — Old Airport Road Food Centre.Aljunied MRT ·
EW9 — Geylang Tian Wai Tian.
Dish 3 · Singapore fish head curry
Fish head curry is a Singapore original — invented in the 1950s when an enterprising South Indian cook, M.J. Gomez, decided to put a whole fish head into a Kerala-style curry and sell it to local Chinese diners who loved the head meat. The dish stuck. Today you can choose between the Indian style (heavier on tamarind, curry leaves, mustard seeds) and the Chinese style (lighter, with assam and a clearer broth).
Where to eat it:
- Muthu's Curry at Race Course Road, Little India — the most famous Indian-style fish head curry. Three locations across Singapore.
- The Banana Leaf Apolo on Race Course Road — Muthu's longtime rival, eaten off banana leaves.
- Ocean Curry Fish Head in Bedok — eastern alternative for the same Indian tradition.
- Karu's Indian Banana Leaf Restaurant on Upper Thomson Road — the suburban favourite.
NE7 / DT12 — closest for Muthu's Race Course Road branch and The Banana Leaf Apolo.Bedok MRT ·
EW5 — Ocean Curry Fish Head.Upper Thomson MRT ·
TE8 — Karu's.
Ordering vocabulary
- "Add milk" — the evaporated-milk pour. The default at most stalls these days.
- "Fried fish" or "raw fish" — choose between deep-fried slices (crispy on the outside, melty inside) or thin raw slices blanched in the broth.
- "Mixed" — half-and-half, the best of both.
- "With rice" / "with bee hoon" / "soup only" — carb of your choice or none at all.
- "Spicy" — for fish head curry, ask for "medium" your first time; "extra spicy" is genuinely fierce.
A fish-soup day by MRT
- 11:30am — sliced fish soup at Pek Kio Market (Novena MRT).
- 2:00pm — train to Little India for an Indian fish head curry late lunch on a banana leaf.
- 7:00pm — if you have room, fish head bee hoon at Old Airport Road for supper (Mountbatten MRT).
Why GoBus SG helps here
Fish stalls and fish head curry places open and close on their own timings — some open only for lunch, some only for dinner, some take a Tuesday off. The trip planner means you can verify a stall is on your route at the right hour before you commit to the bus.
Open these stops in GoBus SG
Search any MRT or stop above for live arrivals across bus, MRT and LRT — with home-screen widgets and multi-modal trip planning.