Culinary Explorer

A cooking platform built around craft, culture, and the stories behind what we eat.

Discover Culinary Explorer
Hot and Sour Pork Rib Soup (Tom Saep)

Hot and Sour Pork Rib Soup (Tom Saep)

Created by

Isan's bone broth soup that Bangkok couldn't tame: pork ribs simmered until the collagen gives, aromatics infused whole, lime juice slammed in at the end off the heat. Sour first, salty second, heat relentless.

Soups & Stews
Thai
Weeknight
Comfort Food
15 min
Active Time
50 min cook1 hr 5 min total
Yield4 servings

Bones. That's the principle. Tom saep starts where most Thai soups don't: with bones simmered long enough to give up their collagen, their fat, their mineral depth. The broth does the heavy lifting. Everything else is sharpening.

Ajarn always said that Thai soups fall into families, and each family has its own governing logic. Tom yum uses water as a neutral canvas and lets the aromatics paint the picture. Tom kha replaces water with coconut milk. Tom saep? Tom saep says: the liquid itself carries weight. You build a pork bone broth first, cloudy and rich, then you hit it with the aromatic trinity (lemongrass, galangal, kaffir lime leaves) and enough dried chili to make your eyes water. No coconut to soften the blow. No nam prik pao to add sweetness. Just bones, herbs, and acid.

This is an Isan soup that Bangkok adopted but never polished. Where tom yum became the ambassador, photographed in celadon bowls for magazine covers, tom saep stayed on the plastic table at the street stall, served in a dented metal pot with a pile of jasmine rice and a cold Singha. The name itself is Isan: "saep" (แซ่บ) is the northeastern word for delicious, but it carries connotations of bold, spicy, sweat-on-your-forehead satisfaction. It's the Isan equivalent of "aroy" (อร่อย), but rougher. More honest.

The four pillars hold here, as they always do. Fish sauce for salt. A whisper of palm sugar for balance, barely there. Lime for sour, and it's the dominant note, squeezed in at the very end, off the heat, so it stays bright and volatile. Dried chilies toasted until smoky for heat that builds in waves. And the broth underneath it all, doing what bones have done for every soup culture on earth: providing body that water alone never can.

Tom saep (ต้มแซ่บ) originates from Isan, Thailand's northeastern plateau, where pork ribs and offal were everyday proteins and nothing went to waste. The word "saep" is Isan-Lao dialect, not Central Thai, marking the dish's regional identity even as Bangkok street stalls adopted it in the latter half of the 20th century. In Isan, the soup often includes bile (nam dee) for a bitter counterpoint and pork blood for body; the Bangkok version typically omits both, keeping the broth cleaner but preserving the aggressive sour-spicy balance that defines the dish.

The technique, the tradition, and the story behind every dish.

Discover Culinary Explorer

Ingredients

pork spare ribs (si khrong mu)

Quantity

700g

chopped into 2-inch pieces

water

Quantity

7 cups

cilantro roots (rak pak chi)

Quantity

3

smashed

lemongrass (takhrai)

Quantity

3 stalks

cut into 2-inch pieces, bruised

galangal (kha)

Quantity

5 slices

1/4 inch thick

kaffir lime leaves (bai makrut)

Quantity

5

torn

dried red chilies (prik haeng)

Quantity

5

toasted

shallots (hom daeng)

Quantity

3

halved

fish sauce (nam pla)

Quantity

3 tablespoons, plus more to taste

lime juice (nam manao)

Quantity

4 tablespoons (about 3-4 limes)

palm sugar (nam tan pip)

Quantity

1 teaspoon

roasted chili powder (prik pon)

Quantity

1 tablespoon

sawtooth coriander (pak chi farang)

Quantity

4 stalks

cut into 1-inch lengths

green onions (ton hom)

Quantity

2

sliced

fresh cilantro leaves (pak chi)

Quantity

for serving

steamed jasmine rice

Quantity

for serving

Equipment Needed

  • Medium-large stockpot
  • Small dry pan for toasting chilies
  • Fine-mesh skimmer for broth

Instructions

  1. 1

    Blanch the ribs

    Bring a pot of water to a rolling boil. Drop the pork ribs in and let them boil hard for 2 minutes. You'll see grey scum rise to the surface. That's blood and impurities. Drain, rinse each rib piece under cold water, and scrub the pot clean. This step is not optional. Skip it and your broth will be murky and taste like iron. Clean bones make clean broth.

    Ask your butcher to chop the ribs into short pieces, about 2 inches. You want bones with meat still attached. The cartilage and connective tissue are your friends here. They dissolve into the broth and give it body.
  2. 2

    Build the bone broth

    Return the blanched ribs to the clean pot with 7 cups of fresh water and the smashed cilantro roots. Bring to a boil, then drop the heat to a gentle simmer. Not a rolling boil. A lazy, patient bubble. Skim any foam that rises in the first few minutes. Let this go for 35-40 minutes until the meat is tender and pulling away from the bone, and the broth has turned from clear water to something with weight and opacity. When you dip a spoon and it coats the back slightly, the collagen has done its job.

    Cilantro roots (rak pak chi) are the secret backbone of Thai broth. They're the part most Western cooks throw away. In Thailand, we use the root, not just the leaves. It gives the broth an earthy, anchoring flavor that nothing else replicates. If you can't find them, use the bottom inch of the cilantro stems. It's not the same, but it's closer than nothing.
  3. 3

    Toast the dried chilies

    While the broth simmers, dry-toast the dried red chilies in a small pan over medium heat. No oil. Shake the pan constantly. You want them darkened, blistered, and fragrant, about 2 minutes. The kitchen should smell smoky and sharp. Pull them off the heat the moment they start to blacken at the edges. Burnt chilies taste bitter, not spicy. Set aside.

  4. 4

    Infuse the aromatics

    When the ribs are tender, add the bruised lemongrass, galangal slices, torn kaffir lime leaves, halved shallots, and toasted dried chilies to the broth. Let everything simmer together for 5 minutes. Not longer. The aromatics should infuse, not disintegrate. The broth will shift from pork-and-cilantro-root to something sharper, more complex. You should smell the lemongrass cutting through the richness of the bones. That's the aromatic trinity doing its work: they're not garnish, they're medicine and flavor delivery.

    These aromatics go in whole or torn. They infuse the broth. They are not eaten directly. When you encounter a piece of galangal or lemongrass in your bowl, push it aside. It's done its job.
  5. 5

    Season off the heat

    Remove the pot from the heat. This is critical. The lime goes in now, off the flame, because heat destroys its bright, volatile acid. Add the fish sauce, palm sugar, lime juice, and roasted chili powder. Stir once. Taste. The balance should hit you in this order: sour (dominant, aggressive, in-your-face), salty (the backbone, from the fish sauce), then heat (building, not instant, from the toasted chilies and prik pon). Sweet should be barely perceptible, just enough to keep the sour from being shrill. Adjust. More lime if the pork richness is muting the acid. More fish sauce if it tastes flat. If you add too much lime, a pinch more palm sugar will pull it back.

    Ajarn always said: add sour last, add sour slowly. Lime juice is the one ingredient you can't pull back. Once it's in, it's in. Start with 3 tablespoons and work up. Your limes will vary in acidity. Trust your tongue, not the recipe.
  6. 6

    Serve with fresh herbs

    Ladle the soup into bowls, making sure each bowl gets ribs, broth, and aromatics. Scatter the sawtooth coriander, sliced green onions, and cilantro leaves over the top. Serve immediately with steamed jasmine rice on the side. The rice goes in the spoon with the broth, or on the side to eat between sips. Either way, the rice is not optional. It absorbs the heat and lets you keep eating. Tom saep waits for no one. The lime juice is at its brightest right now. In ten minutes, it'll start to dull. Eat.

Chef Tips

  • Tom saep is not tom yum. They're cousins, not twins. Tom yum is a water-based infusion, quick and bright. Tom saep builds a bone broth first, which means time and collagen. Don't rush the simmer. Thirty-five minutes minimum for the ribs. The broth should have body. If it feels like flavored water, you didn't go long enough.
  • Sawtooth coriander (pak chi farang) is the correct herb for tom saep, not regular cilantro. It's a flat, serrated leaf with a more intense, almost metallic cilantro flavor. In Isan, it's the standard herb for soups and larb. If you can only find regular cilantro, use it, but know that the flavor profile shifts. Every ingredient has a reason.
  • The dried chilies must be toasted. Raw dried chilies add heat but no depth. Toasted dried chilies add heat plus a smoky, roasted bitterness that cuts through the richness of the pork broth. Two minutes in a dry pan. Watch them like a hawk. The line between toasted and burnt is about ten seconds.
  • In Isan, tom saep often includes pork offal, liver, intestine, blood cubes, and sometimes bile for a bitter note. The Bangkok version cleans this up, sticking to ribs and sometimes cartilage. Both are valid. If you can handle offal, add it. It's closer to the original spirit of the dish: nothing wasted, everything utilized.

Advance Preparation

  • The bone broth can be made a day ahead: simmer the ribs with cilantro roots, cool, and refrigerate. The fat will solidify on top, making it easy to skim. Reheat and add the aromatics fresh when you're ready to serve.
  • Do not add lime juice until serving. The bright acid degrades within minutes. Season each batch fresh, off the heat, right before it hits the bowl.

Frequently Asked Questions

Nutrition Information

1 serving (about 490g)

Calories
280 calories
Total Fat
19 g
Saturated Fat
7 g
Trans Fat
0 g
Unsaturated Fat
11 g
Cholesterol
75 mg
Sodium
1120 mg
Total Carbohydrates
9 g
Dietary Fiber
2 g
Sugars
4 g
Protein
18 g

Note: Chef personas and recipes are created with AI assistance. Cook with care: follow safe food-handling practices, check doneness with a thermometer when needed, and adapt for allergies and your kitchen.

Where cooking meets culture.

Culinary guides, cultural storytelling, and the editorial depth that makes cooking meaningful.

Discover Culinary Explorer

More from Central Thai Soups

Browse the full collection