mwl-logo

Made With Lau

Recipes

Our Family

Courses

Cookbook Newsletter

mwl-logo

Made With Lau

madewithlau.com

The Cantonese Borscht Soup My Dad's Made 100,000 Times

羅宋湯
Prep: 30 minCook: 120 minTotal: 150 minServes: 4

Ingredients

1 lbspare ribs
1 lbgreen cabbage
2 potato
2 carrot
4 tomato
3 stalkcelery
1 red onion
0.50 chili pepper
2 ozginger
3 clovegarlic
0.50 lemon
2 tbspcorn oil
2 bay leaf
Seasoning
0.25 tspblack pepper
5 tbspketchup
14 fl ozchicken broth
9 cupwater
1 tspsalt
2 tbspsugar

Instructions

1
Prepare vegetables

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 and carrots 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 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 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 in half, then into quarters, then into large bite-sized pieces. Dice the last tomato 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 in half.

2
Parboil spare ribs

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.

3
Stir-fry ingredients

(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 and the chopped chili peppers. 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.

4
Cook soup in 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, 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.

Recipe by Daddy Lau · 2× James Beard Award Winner · madewithlau.com
Cantonese Borscht Soup (羅宋湯)

The Cantonese Borscht Soup My Dad's Made 100,000 Times

羅宋湯
▶ 704.5K views on YouTube
👍 11.4K likes
Prep
30 min
Cook
120 min
Total
150 min
Serves
4
Daddy Lau
By Daddy Lau · 2x James Beard Awards · 60+ years
Published Jan 2023 · Updated Nov 2024

Why this recipe

The story
Cantonese Borscht Soup (羅宋湯) — Daddy Lau
Daddy Lau

Most cantonese borscht soup recipes online are tested only a handful of times. My dad used to make this dish multiple times a day, every day, for 60+ years and can make this in his sleep.

I know you'll love it as much as our community does! This recipe has over 704.5K views, 11.4K likes on YouTube.

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.

Pairs well with

View all →
Scrambled Eggs (炒雞蛋)
6 min

Scrambled Eggs (炒雞蛋)

View recipe →
Easy Pan Fried Chicken Breast (煎雞胸)
20 min

Easy Pan Fried Chicken Breast (煎雞胸)

View recipe →
Dad's 10-Minute Weeknight Broccoli (平日西蘭花)
10 min

Dad's 10-Minute Weeknight Broccoli (平日西蘭花)

View recipe →

Ingredients

Serves4
Understanding Flavor
FUNDAMENTALS
Understanding Flavor
Dive Deeper →
Main Ingredients
1 lbspare ribs
1 lbgreen cabbage
2 potato
2 carrot
4 tomato
3 stalkcelery
1 red onion
0.50 chili pepper
2 ozginger
3 clovegarlic
0.50 lemon
2 tbspcorn oil
2 bay leaf
Seasoning
0.25 tspblack pepper
5 tbspketchup
14 fl ozchicken broth
9 cupwater
1 tspsalt
2 tbspsugar

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.

Instructions

4 steps · click any step to scrub ↑
1

Prepare vegetables

scroll to play this step

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 and carrots 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 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 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 in half, then into quarters, then into large bite-sized pieces. Dice the last tomato 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 in half.

The 10 Essential Cutting Techniques
LESSON 3.3
The 10 Essential Cutting Techniques
Dive Deeper →
2

Parboil spare ribs

scroll to play this step

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.

3

Stir-fry ingredients

scroll to play this step

(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 and the chopped chili peppers. 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.

4

Cook soup in pot

scroll to play this step

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, 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.

Frequently Asked Questions

Made with love ❤️

The Lau Family

We started Made With Lau to celebrate Cantonese culture and honor the legacy of our wonderful parents, Jenny and Chung Sun Lau.

Our hope is that these recipes and stories help you spread the joy, love, and nostalgia that I felt growing up.

mwl-logoMade With Lau

A family-run Cantonese cooking project from Daddy Lau, Randy Lau, and a small team in the Bay Area.

Recipes
All recipesEasy weeknightsTakeout favoritesSoups & brothsDim sumNoodles
Learn
Mini masterclassesAll courses
About
Our familyCookbook (2027)ContactPrivacy
Made with ♥ in the Bay · © 2026 · Year of the Horse
YouTube · 1.78MInstagram · 412KTikTok · 891K