Cantonese Borscht Soup (羅宋湯)

This classic, hearty Hong Kong café soup warms you to your toes!

flodesk gif
Prep Time
30 min
Total Time
150 min
Yields
4 servings

A Recipe by Daddy Lau

My dad's been cooking Chinese food for over 50 years - as a kid fending for himself in Guangzhou, as the head chef of his own restaurant, and as a loving father in our home.

Hopefully, by learning this recipe, you'll get to experience some of the delicious joy we felt growing up eating his food!

- Randy

Cantonese borscht, or Hong Kong borscht, is a staple of Hong Kong cafés. It's a hearty tomato soup that's commonly served as a side dish to café entrees.

But isn't borscht a Eastern European dish? That's right! You may be familiar with this soup as a brightly colored beet vegetable soup.

Russian immigrants brought this part of their heritage with them to China in the early 20th century, where in true immigrant fashion, they adapted the recipe to local ingredients. Over time, the soup traveled south to Hong Kong and became a signature item of Hong Kong's Western menu.

Check out a quick story summary of our recipe!

Ingredients

Weight: US
oz
g
Volume: US
cup
mL
Servings
4

Main Ingredients

  • 1 lb spare ribs
  • 1 lb green cabbage
  • 2 potato
  • 2 carrot
  • 4 tomato
  • 3 stalk celery
  • 1 red onion
  • 0.50 chili pepper (

    use more or less to your taste

    )
  • 2 oz ginger
  • 3 clove garlic
  • 0.50 lemon
  • 2 tbsp corn oil
  • 2 bay leaf

Seasoning

  • 0.25 tsp black pepper
  • 5 tbsp ketchup
  • 14 fl oz chicken broth
  • 9 cup water
  • 1 tsp salt
  • 2 tbsp sugar

No beets, hold the sour cream

Arguably the most well-known version of borscht is a strikingly red Eastern European soup, colored by beets and served with a hearty dollop of sour cream. Those two distinctive ingredients are noticeably missing from our Cantonese version.

Cantonese borscht doesn't have beets, and is instead known for its tomato base. It's also not served with sour cream, but as we always say, your house, your rules! If you end up adding sour cream to this version, let us know how it goes.

Because all these vegetables will be boiling in soup for two hours, it's not necessary to obsess over the exact size and shape of each vegetable. However, it's ideal to cut everything to approximately the same size. Your soup will look amazing and the ingredients will have the perfect textures.

Cut the green cabbage (1 lb) open. Cut the hard core away and discard it. Cut the cabbage into thick strips, then into bite-sized pieces.

Trim and discard the dirty ends of the celery (3 stalk). Break the stalks by hand to see the tough, stringy fibers along the outer, greener surface of celery stalks. They can be difficult to eat and digest, so pull off any stringy fibers that stick out. Then, dice the celery into small, bite-sized chunks.

Peel the potatoes (2 ) and carrots (2 ) if you like. You'll also be dicing these. For the potato, wet your knife to prevent sticking, then cut the potatoes in halves, then quarters, then into large cubes. Cut the thickest ends of carrots in half lengthwise, then into bite-sized chunks. (If you have skinny carrots, you might not need to halve them.)

Cut the red onion (1 ) open so you can stabilize it on its cut, flat base. Then cut across once to halve again, and dice into chunks.

Cut the chili pepper (0.50 ) open. Discard the seeds and core to reduce the spice level, or include them (or add more chili pepper!) for more of a kick. Chop the pepper into small pieces.

Cut the tomatoes (3 ) in half, then into quarters, then into large bite-sized pieces. Dice the last tomato (1 ) into smaller pieces. The large chunks provide texture, and the smaller pieces will melt into the broth for more flavor.

Smash the ginger (2 oz) and roughly cut it into small pieces. Smash the garlic (3 clove). To make it easier to fish out when eating, leave these aromatics in smashed chunks.

Cut the lemon (0.50 ) in half.

Add the spare ribs (1 lb) to a wok or pot full of clean, cold water. For 1 lb of spare ribs, we needed 4-5 cups of water to submerge them. Turn the heat to high and bring it to a boil.

Once it comes to a boil, lower the heat. You'll see foamy scum and debris rise to the surface. Let it simmer for 30 seconds. While the spare ribs parboil, prepare a bowl of cold water.

Scoop the parboiled spare ribs out and put them in the cold water. Use your hands to scrub and rinse off any debris from the spare ribs.

Pour out the scummy water and quickly clean the wok or pot.

(Time-management tip: on the side, you may want to start boiling water (9 cup) for the next step.)

Dry your wok if needed, then set the heat to low. Add corn oil (2 tbsp) to the wok. Add the ginger and garlic. Stir-fry these aromatics on low heat until they're fragrant, which should take 15-20 seconds.

Add the onions and stir-fry for 20 seconds.

Add the smaller, diced tomatoes and cook for about 30 seconds.

Add the potatoes and carrots. The moisture of the tomatoes will help keep the other ingredients from burning now, so turn the heat up to medium or high. The high heat will help cook off the liquid so the ingredients can stir-fry rather than steam in their own moisture. Stir-fry for about 30 seconds.

Add the rest of the tomatoes. Stir-fry for about 30 seconds, then add the celery.

Add ketchup (5 tbsp) and mix it in.

Add the parboiled spare ribs. Season with black pepper (0.25 tsp) and stir it in.

Turn the heat off to safely transfer all the ingredients into a large soup pot.

To the soup pot full of stir-fried ingredients, add chicken broth (14 fl oz). Then turn the heat on to high. Add water (9 cup) (use boiling water to save time), then give everything a good stir to ensure that everything is well-mixed.

Add the cabbage, bay leaves (2 ), and lemon.

Bring everything to a boil. Put the lid on the pot to speed up the process. Once it's boiling, turn the heat down to medium-low and uncover the pot to give it a mix. Then, put the lid back on and let it simmer for 2 hours.

After 2 hours, the soup is cooked through and all the vegetables should be soft. Season with salt (1 tsp) and sugar (2 tbsp). Have a quick taste and adjust the seasoning to your liking.

Enjoy! This soup tastes great fresh, but its flavor will deepen and get even richer after a day or two in the fridge.

FAQ

What kind of meat is used in Cantonese Borscht?

  • Beef is the most common base for Cantonese borscht. Fatty cuts will provide rich flavor and smooth texture. Great options include oxtail and the shank. However, if you don't eat beef, you can substitute it for pork spare ribs like we've done in our recipe, or use chicken thighs or quarters.
  • Of course, you can forgo the meat altogether; the soup will taste less meaty but it'll still be filling and delicious.
  • Whichever meat you end up using, we generally recommend parboiling bone-in meat for soup recipes, in order to achieve the most ideal broth that looks clear and tastes fresh.

Where did Cantonese Borscht come from?

  • Cantonese borscht, or Hong Kong borscht, is an adaptation of Eastern European borscht. Eastern Europeans had brought this part of their heritage with them over to China in the early 20th century. The recipe was adapted and over time, evolved into this tomato-based vegetable soup that's a staple in all Hong Kong cafés today.

Summary

Cantonese Borscht Soup (羅宋湯)
This classic, hearty Hong Kong café soup warms you to your toes!
  • Prep Time: 30 min
  • Total Time: 150 min
  • Yield: 4 servings

Main Ingredients

  • 1 lb spare ribs
  • 1 lb green cabbage
  • 2 potato
  • 2 carrot
  • 4 tomato
  • 3 stalk celery
  • 1 red onion
  • 0.50 chili pepper (

    use more or less to your taste

    )
  • 2 oz ginger
  • 3 clove garlic
  • 0.50 lemon
  • 2 tbsp corn oil
  • 2 bay leaf

Seasoning

  • 0.25 tsp black pepper
  • 5 tbsp ketchup
  • 14 fl oz chicken broth
  • 9 cup water
  • 1 tsp salt
  • 2 tbsp sugar

Step 1 - Prepare vegetables

↑ Jump to details

Cut the green cabbage (1 lb) into bite-sized pieces.

Trim and discard the dirty ends of the celery (3 stalk). Pull off any stringy fibers that stick out. Then, dice the celery into small- to medium-sized chunks.

Peel the potatoes (2 ) and carrots (2 ) if you like. Dice the potatoes into large cubes. Cut the thickest end of the carrots in half lengthwise, then into bite-sized chunks.

Dice the red onion (1 ) into large chunks.

Trim the chili pepper (0.50 ) and discard the core, then cut it into small pieces.

Cut the tomatoes (3 ) into large bite-sized pieces, and dice the last tomato (1 ) into small pieces.

Smash the ginger (2 oz) and roughly cut it into small pieces. Smash the garlic (3 clove).

Cut the lemon (0.50 ) in half.

Step 2 - Parboil spare ribs

↑ Jump to details

Add the spare ribs (1 lb) to a wok or pot full of clean, cold water. Turn the heat to high and bring it to a boil.

Once it comes to a boil, lower the heat. Let it simmer for 30 seconds. While the spare ribs parboil, prepare a bowl of cold water.

Scoop the parboiled spare ribs out and put them in the cold water. Scrub and rinse off any debris from the spare ribs.

Pour out the scummy water and quickly clean the wok or pot.

Step 3 - Stir-fry ingredients

↑ Jump to details

Dry your wok if needed, then set the heat to low. Add corn oil (2 tbsp) to the wok. Add the ginger and garlic. Stir-fry these aromatics on low heat until they're fragrant, which should take 15-20 seconds.

Add the onions and stir-fry for 20 seconds.

Add the smaller, diced tomatoes and cook for about 30 seconds.

Add the potatoes and carrots. Turn the heat up to medium or high. Stir-fry for about 30 seconds.

Add the rest of the tomatoes. Stir-fry for about 30 seconds, then add the celery.

Add ketchup (5 tbsp) and mix it in.

Add the parboiled spare ribs. Season with black pepper (0.25 tsp) and stir it in.

Turn the heat off to safely transfer all the ingredients into a large soup pot.

Step 4 - Cook soup in pot

↑ Jump to details

To the soup pot full of stir-fried ingredients, add chicken broth (14 fl oz). Then turn the heat on to high. Add water (9 cup), then give it a good stir.

Add the cabbage, bay leaves (2 ), and lemon.

Bring everything Once it's boiling, turn the heat down to medium-low and uncover the pot to give it a mix. Then, let it simmer with the lid on for 2 hours.

After 2 hours, the soup is cooked through and all the vegetables should be soft. Season with salt (1 tsp) and sugar (2 tbsp). Have a quick taste and adjust the seasoning to your liking.

Enjoy! This soup tastes great fresh, but its flavor will deepen and get even richer after a day or two in the fridge.

Step 5 - Take pictures
Whip out your camera (1). Begin taking photos (1,000,000). Pick your favorites!
Step 6 - Share and tag us on Instagram @madewithlau #madewithlau!
Did you have fun making this recipe? We'd love to see & hear about it. (Especially my dad. He would be THRILLED!)

Enjoy!

We have many, many happy memories of enjoying this dish growing up.

Now, hopefully, you can create your own memories with this dish with your loved ones.

Also, I cordially invite you to eat with us and learn more about the dish, Chinese culture, and my family.

Cheers, and thanks for cooking with us!

Feel free to comment below if you have any questions about the recipe.