10 Bowls with Stories Behind the Steam: Best Fish Soup in Singapore

· Local Dishes,Hawker Food,Traditional Dishes,Central Singapore,Walter

There is a certain kind of comfort that only a good bowl of fish soup can bring. Maybe it is the steam rising off the broth, the soft slices of fish sliding onto your spoon, or that first sip that tastes clean and sweet all at once. I have spent a lot of time thinking about, and eating, fresh fish soup in Singapore, and let me tell you, no two bowls are quite the same.

Here is what I have learned. Great fish soup lives or dies by two things: the freshness of the fish fresh and the depth of the broth. Some folks swear by a clear, light Teochew fish soup that lets the original taste of the fish shine. Others love a milky broth thickened by adding evaporated milk or adding milk for that creamy, rich mouthfeel.

So here are ten fish soup stalls worth your time, each with its own personality. I have kept the details honest, including where each one shines and where it might not suit you. Grab a seat at a coffee shop or hawker stall, and let us dig in as we taste our traditions and savour the rich heritage behind each bowl.

Summary List of the Best Fish Soup in Singapore

1. Mei Xiang Black & White Fish Soup (Berseh Food Centre)

  • Price: $6.50
  • Best for fans of rich, bold broth with fried fish

2. Angel Horse Teochew Fish Soup (Albert Centre)

  • Price: $5.50-$6.50
  • Best for purists who love traditional clear soup

3. Kwang Kee Teochew Fish Porridge (Newton Food Centre)

  • Price: $6
  • Best for hearty, old-school Teochew fish soup fans

4. Blanco Court Fried Fish Noodles (Beach Road)

  • Price: $7-$11
  • Best for those who want crispy fried fish in broth

5. Jun Yuan House Of Fish (Old Airport Road Food Centre)

  • Price: From $6.80
  • Best for diners wanting herbal seafood soup

6. First Street Teochew Fish Soup (Serangoon)

  • Price: $7.90-$14.90
  • Best for those wanting fish variety and fish maw

7. Piao Ji Fish Porridge (Amoy Street Food Centre)

  • Price: $8-$16
  • Best for those wanting more flavourful, hearty soup

8. Han Kee Fish Soup (Amoy Street Food Centre)

  • Price: $5-$9
  • Best for CBD office workers who can queue

9. Beach Road Fish Head Bee Hoon (Whampoa Market 5)

  • Price: $5.50
  • Best for value seekers for Michelin-recognised bowl

10. Jin Hua Fish Head Bee Hoon (Maxwell Food Centre)

  • Price: $5-$7
  • Best for milky fried fish soup lovers

1. Mei Xiang Black & White Fish Soup (Berseh Food Centre) - A Bowl of Fish Soup That Checks All the Boxes

Collage of Mei Xiang Black & White Fish Soup storefront and chopsticks lifting fried fish from fish soup below

Nearest MRT: Jalan Besar

If I had to point someone to one crowd favourite, Mei Xiang Black would be near the top of my list. You will spot it by the iconic black plastic bowls scattered across tables at Berseh Food Centre. The stall keeps things simple, serving just one dish: the Black & White Fish Set ($6.50).

That single bowl of fish soup packs a punch. The yellow-tinged broth is boiled with fish bones and carries a distinct ginger warmth, coming across rich, savoury, and deeply moreish. Inside, you get around 10 mixed slices of both deep-fried and sliced fish. The fried fish slices soak up the broth beautifully and turn wonderfully tender.

For the price, the value here is hard to beat, and the flavour is genuinely memorable. The generous amount of fish and broth makes it a perfect fish soup fix.

Best for: Anyone who loves a bold, rich bowl with both fried and sliced fish in one go.

Avoid if: You prefer a light, clean soup, because this one leans greasy and can feel jelak if you are not used to heavier flavours.

Insider tip: Get there early during peak hours. It only opens Tuesday to Friday from 11.30am to 2pm, so this is strictly a weekday lunch mission. Check out food news and food videos for the latest updates.

2. Angel Horse Teochew Fish Soup (Albert Centre) - Fresh Fish Soup with Original Taste

Collage of Angel Horse Teochew Fish Soup storefront and fish soup with fish meat chunks and green vegetables

Nearest MRT: Bugis

Angel Horse Teochew Fish Soup is a name you will not forget, and this Albert Centre hawker stall has been serving comforting bowls for over 30 years. It has quietly become a go-to in the Bugis area, and for good reason.

Most people order the Sliced Fish Soup ($5.50/$6.50), a clear Teochew fish soup loaded with fresh batang fish slices, tofu, bitter gourd, earthy tang oh greens, and umami dried seaweed. The soup is clean-tasting and gently sweet, and even with the bitter gourd, it never turns bitter. The fish slices are smooth, tender, and laced with a natural sweetness that keeps you coming back.

Do not skip the house-made Teochew salted bean chilli dip. That sour-spicy kick against the silky fish is the whole experience.

Best for: Purists who love a traditional clear Teochew bowl with plenty of green veggies.

Avoid if: You are not a fan of vegetables, since the tang oh and bitter gourd can feel a bit overpowering.

Insider tip: Dining with a friend? The 2 Pax Set ($8/$10) is made for sharing.

3. Kwang Kee Teochew Fish Porridge (Newton Food Centre) - A Dish with Generous Portions

Collage of Kwang Kee Teochew Fish Porridge storefront and vegetable fish soup with fish chunks served in orange bowl

Nearest MRT: Newton

You will recognise Kwang Kee by the Michelin Bib Gourmand signboard hanging proudly out front. This spot at Newton Food Centre has been around for more than 60 years, now run by the second generation, and that kind of longevity tells you something.

The classic Sliced Fish Soup ($6) comes with around eight batang fish slices and Chinese cabbage, finished with fried garlic and spring onions. The soup carries a satisfying sweet-savoury depth, and the fish slices tick every box: smooth, tender, and full of that familiar sweetness I adore. One heads-up, the soup runs on the oily side, so your spoon might get a little greasy.

Best for: Fans of a hearty, old-school Teochew fish soup with a Michelin nod behind it.

Avoid if: You dislike an oily soup, as the layer of oil here is noticeable.

Insider tip: Some of the thinner slices can taste slightly fishy, so dip them in the soya sauce with chilli to sharpen things up. There is also a Punggol outlet at One Punggol if that is nearer to you.

4. Blanco Court Fried Fish Noodles (Beach Road) - Fried Garlic and Creamy Broth

Collage of Blanco Court Fried Fish Noodles storefront and yellow spoon lifting fish meat from fish soup in a yellow bowl

Nearest MRT: Bugis

Walk into Blanco Court Fried Fish Noodles and you are greeted by a wall of accolades. This Beach Road eatery has been running since 1997 and stays packed during peak hours, drawing both locals and tourists in the Bugis and Kampong Glam area.

The star is the Fried Fish Soup ($7/$11), best paired with thick bee hoon or yee mee. Adding evaporated milk by default gives you a milky broth that is hearty, aromatic, and savoury without tipping into heavy. My bowl came with a generous serving of chunky, smooth batang slices and crisp fried fish that held its bite even after a dunk. You also get a good pile of greens, from lettuce to bitter gourd and spinach.

Best for: A Bugis lunch where the fried fish stays crispy right to the last spoonful.

Avoid if: You want a budget hawker price, since portions here sit slightly pricier than a typical stall.

Insider tip: If the milky broth feels too rich, just ask for clear soup instead. And while you are there, the Prawn Egg ($8) is worth adding.

5. Jun Yuan House Of Fish at Old Airport Road Food Centre - A Mixed Soup Experience

Collage of Jun Yuan House of Fish storefront and fish soup with fish chunks and vegetables served in a yellow

Nearest MRT: Dakota

Jun Yuan House earned its Michelin Bib Gourmand back in 2021, which is impressive given it only opened in 2014. It has built a loyal following fast, and its calling card is something a little different.

The menu includes sliced fish soup and Herbal Seafood Soup, with the latter currently listed from $6.80 on Jun Yuan's ordering platform. This is a full-bodied, richer mixed soup where the herbs make everything moreish and the seafood adds real substance. The clear fish soup version has a natural light sweetness from the Chinese cabbage that pairs lovely with the umami fish. Honestly, ordering the herbal broth with batang slices is the move.

Best for: Diners craving something beyond the usual, especially a warming herbal seafood soup.

Avoid if: You want a light bowl, as the herbal broth can occasionally lean thick, bitter, and overpowering on heavier days.

Insider tip: If you like richness, go herbal. If you want the fish to be the hero, stick with the clear sliced batang fish version.

6. First Street Teochew Fish Soup (Serangoon) - Fish Maw and Variety

Collage of First Street Teochew Fish Soup storefront and chopsticks lifting fish meat from fish broth full of green vegetables

Nearest MRT: Kovan

First Street Teochew Fish Soup at Serangoon is rarely seen without a long queue, and it has fans well beyond the north-east. It has been around since 1988, and was even popular enough that the BreadTalk Group invested in it.

What sets this hawker stall apart is the choice of fish: Chinese silver pomfret, batang, and red garoupa. That variety is a refreshing change from the single-fish norm. The fish is bought fresh daily, then sliced and marinated for two to three hours, and you can taste that care in the succulence. For first-timers, the Garoupa Fish Soup ($10.90/$14.90) is my pick, with delicate, tender, lightly flaky slices in a mellow umami broth.

Best for: Those who want a proper choice of fish, from pomfret fish soup to batang or garoupa, and a dish featuring fish maw.

Avoid if: You are in a rush, because the queue can stretch to an hour even during quieter periods.

Insider tip: Not a fan of plain fish? The Mixed Seafood Soup ($7.90) brings batang fish slices, prawns, fishcake, and fish maw all in one hearty bowl.

7. Piao Ji Fish Porridge (Amoy Street Food Centre) - A Bowl of Fish Soup with Hearty Toppings

Collage of Piao Ji Fish Porridge storefront and white soup spoon dipped in fish soup with fish chunks, spring onions and roasted garlic

Nearest MRT: Tanjong Pagar

Over at Amoy Street Food Centre, Piao Ji Fish Porridge is one half of the area's most famous fish soup duo. With more than 50 years of history, it has earned its devotees, even if its queue is a touch shorter than its neighbour's.

Piao Ji keeps the menu tight, offering Fish Soup ($8/$11/$13/$16) and Fish & Prawn Soup (from $13). The magic is in the layering: the bowl starts with Chinese cabbage, salted preserved vegetables, and fried garlic, before a pork-bone broth goes in, followed by thick batang slices and a topping of fried shallots, spring onions, and pepper. It is a heartier, more savoury take than most, and those crunchy pork lard bits add a lovely burst between bites.

Best for: Diners who find most fish soup too plain and want something with more going on.

Avoid if: You are watching your salt, since the broth can lean a little salty towards the end.

Insider tip: The fish can taste slightly fishy on its own, so dip it into the spicy chilli ginger sauce. Add White Rice ($0.50/$0.70) to round out the meal.

8. Han Kee Fish Soup (Amoy Street Food Centre) - Personal Favourites and Long Queue

Collage of Han Kee Fish Soup storefront and fish soup stuffed with large fish meat chunks garnished with coriander in a yellow bowl

Nearest MRT: Tanjong Pagar

Han Kee is the other legend of Amoy Street Food Centre, and anyone who works in the CBD knows the drill. The long queue here is not just long, it is legendary, often eating up an entire lunch break.

But the reward is a genuinely lovely bowl of fish soup. The Sliced Fish Soup ($5/$7/$9) is the one to get, and you can also have it as sliced fish bee hoon or porridge at the same price. The star is undeniably the fish: pearly white, firm, toothsome batang slices that taste like they were caught that very morning. The clear soup is subtly sweet and umami, lifted by pepper, coriander, and savoury fried garlic bits. It is so clean and easy to drink.

Best for: CBD office workers who have made peace with queueing for fresh fish slices this good.

Avoid if: You have a tight lunch hour, because that hour-long wait is very real.

Insider tip: Have your order ready before the auntie reaches you. She takes orders way down the line and can memorise up to 30 at once, so be prepared.

9. Beach Road Fish Head Bee Hoon (Whampoa Market 5) - A Fish Soup Fix with Creamy Broth

Collage of Beach Road Fish Head Bee Hoon storefront and Bee Hoon fish soup with fried fish garnished with roasted garlic

Nearest MRT: Boon Keng

Beach Road Fish Head Bee Hoon has bagged a Michelin Bib Gourmand for multiple years, and the queues at Whampoa Market 5 back up the hype. What makes it remarkable is the price: nearly everything on the menu, from sliced and fried fish soup to fish head soup and porridge, sits at an affordable $5.50.

When in doubt, order the Fried Fish Soup. The umami-laden broth draws its natural sweetness from simmered fish bones, and a cloud of evaporated milk gives it an opaque, creamy mouthfeel that never turns jelak. The fish slices are lightly battered and fried, staying soft and meaty inside. It is fresh, light, and honestly one of the best value bowls you will find.

Best for: Snagging a Michelin-recognised bowl of fish soup for just $5.50.

Avoid if: Your schedule is rigid, because the opening hours are limited and a little awkward.

Insider tip: Check the calendar before you go. It only opens Tuesday, Thursday, Saturday, and Sunday from 9am to 2pm, and is closed Monday, Wednesday, and Friday.

10. Jin Hua Fish Head Bee Hoon (Maxwell Food Centre) - A Dish with Generous Portions and Original Taste

Collage of Jin Hua Fish Head Bee Hoon storefront and Bee Hoon fish soup with generous amount of fish chunks and vegetables

Nearest MRT: Maxwell

Rounding out the list is another CBD favourite. Jin Hua Fish Head Bee Hoon at Maxwell Food Centre has drawn crowds for more than 20 years, especially for its fried fish soup enriched by adding evaporated milk.

Go for the Fish Meat Bee Hoon or Soup ($5/$6/$7) with milk. What makes this broth special is how it is built, simmered from old mother hen, yellow beans, and fish bones for a robust, full-bodied flavour and a satisfyingly creamy, milky broth. Each bowl comes packed with generous portions of hefty fried fish chunks plus a medley of vegetables, tomatoes, and tofu. It is the kind of old-school depth you cannot fake with shortcuts.

Best for: Milky fried fish soup lovers who appreciate a properly built, old-fashioned broth.

Avoid if: You prefer sliced fish over fried, or want a lighter clear soup experience.

Insider tip: They also serve more premium options like the Grouper Fish Head Bee Hoon Soup ($10/$12/$15) and an Ang Go Li version featuring sea bream, if you are feeling adventurous. Note they are closed on Thursdays.

So, Where Should You Slurp First?

There you have it, ten fish soup stalls that each bring something different to the table. If you want rich and indulgent, Mei Xiang Black or Piao Ji will treat you well. Craving something clean and traditional? Han Kee and Angel Horse serve the classic teochew fish soup beautifully. For a milky broth fix, Beach Road and Jin Hua are your friends, while Jun Yuan House delivers that comforting herbal seafood soup.

Then keep working through the list, because half the fun is in the tasting. Go on, grab a bowl and start slurping, and tell me which one wins your heart.

For a more traditional stall across Singapore, be sure to head out and check our list and guides through this article: From Hawker Classics to Korean BBQ: 10 Tanjong Pagar Food Places to Try