Homemade sweet and sour ribs

Tang cu xiao pai (糖醋小排) is a famous dish from Shanghai cuisine where small pork ribs are fried in melted sugar until golden and crispy, then coated in a thin sticky sweet and sour glaze. Unlike Western style sweet and sour recipes that uses ketchup, this authentic version builds all its flavor from Chinkiang vinegar, soy sauce, and caramelized sugar.

I first tried tang cu xiao pai at a neighborhood restaurant in Shanghai and could not stop eating them. When I figured out the melted sugar technique at home, I started making a double batch every time because the first plate disappears in minutes. Now it is my favorite quick 20 minutes recipe to make without a long list of ingredients.

These ribs are always the first thing to go when I bring them to a potluck or a game day gathering. My friends keep asking me for the recipe and are surprised when I tell them it only takes 3 sauce ingredients. I hope you give these sweet and sour ribs a try and watch them vanish from the plate.

Shanghai sweet and sour ribs

Ingredients

My sweet and sour ribs recipe keeps the ingredient list short, which is part of what makes it so easy to pull off on a busy day. Here is what I use:

sweet and sour ribs recipe ingredients.

For Boiling the Ribs

I use spare ribs cut into small single bone pieces so they brown evenly in the melted sugar. Shaoxing wine, sliced ginger, green onion whites, star anise, and dried chili peppers go into the pot to flavor the ribs and remove any gamey taste during blanching.

For the Stir Fry

Chinkiang vinegar and soy sauce are the tangy, savory foundation of the glaze. The sugar plays a double role: 2 tablespoons go into the oil for the melted sugar browning step and 1 tablespoon gets mixed into the sauce. I use peanut oil to melt the sugar evenly, and sliced garlic goes in right before the sauce for extra fragrance.

The Melted Sugar Technique

Chao tang shai (炒糖色) is a traditional Chinese cooking technique where sugar is melted in oil to create a caramelized coating on meat, giving it a golden color, light crunch, and subtle sweetness that you cannot achieve by browning in oil alone. It is widely used in Chinese stir fries and braised dishes like red braised pork, and it is the technique that sets these sweet and sour ribs apart from versions that skip this step.

How to Make

1. Blanch the ribs: Add the pork ribs to a large pot and cover with cold water. Add the Shaoxing wine, ginger, green onion whites, star anise, and dried chili peppers. Cover and bring to a boil over medium high heat. Uncover and cook for 5 minutes, skimming the foam from the surface. Transfer the ribs to a colander to drain. Save the broth for soup if you like.

2. Mix the sauce: Combine the Chinkiang vinegar, light soy sauce, and 1 tablespoon of sugar in a small bowl. Set aside.

3. Melt the sugar: Add the peanut oil to a large nonstick skillet, then carefully sprinkle the remaining 2 tablespoons of sugar so it spreads into a thin layer in full contact with the oil. Cook over medium heat, swirling the pan occasionally to help the sugar dissolve evenly. Watch carefully as the color turns from clear to pale yellow to golden.

4. Brown the ribs: When most of the sugar turns golden, carefully add the blanched ribs to the pan. Stir constantly to coat the ribs with the melted sugar. Continue stirring until the ribs turn a reddish golden brown, about 1 to 2 minutes. Transfer the ribs to a plate.

5. Remove excess oil: Pour the oil into a bowl and wipe the pan clean with paper towels. Add back 2 teaspoons of oil.

6. Cook the aromatics and sauce: Turn the heat to medium high. Add the sliced garlic and stir a few times until fragrant. Pour in the vinegar mixture and cook, stirring until the sauce has reduced by half and thickened.

7. Combine: Add the ribs back to the pan and stir to coat them entirely in the sauce.

8. Serve: Transfer to a plate and garnish with sliced green onions. Serve hot or at room temperature.

Sweet and Sour Ribs on a white plate

Key Cooking Tips to Consider

Do not stir the sugar too much while melting: Stirring causes the sugar to crystallize instead of melting smoothly. I swirl the pan instead and only use a spatula to spread the sugar if it is unevenly distributed.

Use a nonstick pan for the sugar step: A carbon steel or cast iron wok reacts with the vinegar in the sauce, which damages the seasoning. If you do have a wok, it’s very likely that it’s a flat-bottomed wok. In that case, it doesn’t help with the melted sugar process that much (I’ve tested it).

Watch the sugar color carefully: The sugar goes from golden to burnt very quickly. I lower the heat if one area is turning color faster than the rest. Once most of the sugar is golden, I add the ribs immediately.

Remove the excess oil before adding the sauce: If too much oil stays in the pan, the sauce will not thicken properly. I pour out the oil and wipe the pan clean so the sauce reduces into a sticky glaze.

Save the blanching broth: The broth from boiling the ribs is full of flavor from the ginger, star anise, and Shaoxing wine. I strain it and use it as a soup base for winter melon meatball soup or simple noodle soups.

Serving Suggestions

I serve these ribs as an appetizer before a bigger meal, stacked on a plate with the glaze dripping down the sides. On weeknights I make them the main dish with a bowl of steamed rice and any Chinese vegetable stir fry recipes. My husband eats them at room temperature as a snack, which works just as well since the glaze stays sticky even after cooling.

For a full Shanghainese spread, I pair these ribs with Yang Zhou fried rice and my easy rice cake stir fry. When I want a lighter contrast, I add a bowl of Chinese fish soup on the side. They also go well alongside air fryer garlic ribs if you want to offer two different rib styles at a party table.

Frequently ask questions

What type of pork ribs should I use?

I use spare ribs cut into 2 inch single bone sections. Spare ribs have a thinner layer of meat than baby back ribs, which cooks through faster and absorbs the sugar coating better. I find this cut at Asian markets, especially Chinese and Korean grocery stores like H Mart.

Can I skip the blanching step?

I do not recommend it. Blanching removes the gamey taste and partially cooks the interior so the ribs only need a short time in the sugar. Skipping this step leaves the meat tasting off and undercooked in the center.

How do I store and reheat these ribs?

I store the ribs in an airtight container in the fridge for up to 3 days. I reheat them in a skillet over medium heat, adding a splash of water to loosen the glaze. The microwave works but the caramelized coating loses its crunch.

Chinese Cooking Made Easy

Are you new to this website? This free email series is a great place to start. I’ll walk you through a few of my most popular recipes and show you how and why they work. You’ll quickly start to cook better Chinese food in your own kitchen.

Watch video

Sweet and sour ribs is a classic Shanghainese appetizer that will be the highlight of your dinner table. The ribs are browned with sugar until crispy and caramelized, then finished up in a sticky and fragrant sweet and sour sauce.

Sweet and Sour Ribs (糖醋小排)

4.75 from 12 votes
Prep Time: 10 minutes
Cook Time: 10 minutes
Total Time: 20 minutes
Servings: 4 servings
These easy 20 minute sweet and sour pork ribs (糖醋小排) are a classic Shanghainese appetizer that is great to share on game days or birthday parties. I make my recipe with small riblets browned in melted sugar and finished in a sticky sauce of Chinkiang vinegar, soy sauce, and caramelized sugar.

Ingredients 

For boiling ribs

  • 1.5 lb pork spare ribs , trimmed to 2” (5 cm) in length, cut into one-bone sections (*footnote 1)
  • 2 tablespoons Shaoxing wine
  • 1 thumb-size ginger , sliced
  • 6 green onion white part , green part sliced for garnish
  • 1 whole star anise
  • 2 dried chili pepper

For the stir-fry

  • 2 tablespoons Chinkiang vinegar
  • 1 tablespoon light soy sauce (or soy sauce)
  • 4 tablespoons peanut oil (or vegetable oil)
  • 3 tablespoons sugar , separated
  • 2 cloves garlic , sliced

Instructions

  • Add the pork ribs to a large pot. Add cold tap water to cover the ribs. Add the Shaoxing wine, ginger, green onion, star anise and chili pepper to the pot. Cover and cook over medium-high heat until brought to a boil. Uncover and continue to cook for 5 minutes. Use a ladle to skim the foam from the surface and discard it. Once done, transfer the ribs to a colander to drain. You can strain and save the broth, so you can use it to make a soup later (*see footnote 2).
  • Mix the black vinegar, light soy sauce and 1 tablespoon of the sugar in a small bowl, set aside.
  • Add the peanut oil to a large nonstick skillet, then carefully sprinkle the remaining 2 tablespoons of the sugar so it spreads out into a thin layer in full contact with the oil. Cook over medium heat. Swirl the pan occasionally to help the sugar keep contact with the oil, to help with even dissolving. If the sugar has trouble distributing evenly, it’s OK to use a spatula to spread it. But you shouldn’t stir the sugar too much, which will cause crystallization. Observe the sugar carefully when the color starts to turn pale yellow. You might need to lower the heat if a portion of the sugar is turning color too fast and the rest of the sugar has not dissolved yet. When most of the sugar turns golden, carefully add the ribs to the wok. Stir constantly to coat the ribs well with melted sugar. Stir until the ribs turn golden brown, then turn off the heat.
  • Transfer all the ribs to a plate and set aside. Pour the oil into a bowl and wipe the pan clean with paper towels.
  • Add back 2 teaspoons of the oil and turn the stove back to medium-high heat. Add the garlic. Stir a few times to release the fragrance.
  • Pour in the vinegar mixture. Cook and stir until the sauce has reduced by half and become thicker. Add the ribs back and continue stirring to coat the ribs evenly. Transfer everything to a plate and garnish the ribs with chopped green onion. Serve hot or at room temperature as an appetizer or main dish.

Ingredient Substitution Guide

Notes

  1. You will find this type of ribs at most Asian markets. If you shop at a regular grocery store, ask the butcher to chop the ribs into smaller pieces when buying. Try to select a thin and small rack of ribs, because a thick cut won’t absorb the flavor well and the meat will be too tough in a stir-fry.
  2. The broth will be quite flavorful and you can use it as a soup base, for example, to cook a winter melon meatball soup.

Nutrition

Serving: 1serving, Calories: 271kcal, Carbohydrates: 9.8g, Protein: 20.1g, Fat: 16.2g, Saturated Fat: 3.2g, Cholesterol: 55mg, Sodium: 269mg, Potassium: 333mg, Fiber: 0.1g, Sugar: 9.1g, Calcium: 8mg, Iron: 1mg

Did you make this recipe?

I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.