The Shaanxi street cooks who make rou jia mo (肉夹馍) have a blunt nickname for it: "the world's oldest hamburger." That line is cute, and it sells the idea to a Western reader in two seconds. What it leaves out is the part that actually matters. A good rou jia mo is not a sandwich. It is a small, dense, pan-charred wheat bun split open and stuffed with pork that has braised for so long the fat turns translucent and the meat shreds under a cleaver. The bread soaks the broth and holds its shape anyway. That contrast, crisp shell against juicy, almost confit-like filling, is the whole point.
The home-kitchen failure is always the same. People boil the pork for half an hour, slice the bun, and wonder why it tastes like a wet pork chop on a dinner roll. The fault is not the recipe. It is the braise. You need time, and you need the right aromatics, and you need to spoon broth onto the meat after you chop it. That last step, which most English-language versions skip, is what separates a dry crumble from the glossy, dripping filling you remember from a stall in Xi'an.
At a glance. Plan on 2 hours total: 90 minutes of that is hands-off braising, and the dough rests while the pork cooks. Use belly with its skin on for the richest filling, and braise until a chopstick slides through the meat with no resistance. The non-negotiable finishing move is a spoonful of the cooking broth over the chopped pork and cilantro before it goes into the bun.
What rou jia mo is, and where it comes from
Rou jia mo is the signature snack of Shaanxi province, and within Shaanxi it is claimed most loudly by Xi'an, the old imperial capital at the eastern end of the Silk Road. The mo is a yeasted flatbread called baiji mo (白吉馍), cooked dry in a pan or on a griddle so the surface blisters and the inside stays soft. The rou is la zhi rou (腊汁肉), pork braised in a spiced master stock that old shops keep going for decades.
The spice blend is the soul of the dish, and it leans on warm, sweet aromatics rather than heat. Star anise, cassia, fennel, clove, and Sichuan peppercorn form the backbone; you can build it from scratch or approximate it with homemade five-spice powder in a pinch. If you are curious about the wider Xi'an table, the cumin lamb skewers and biang biang noodles you have probably seen online belong to the same street-food tradition, and the city is one of the great wheat-eating capitals of China.
One regional detail worth knowing: the Xi'an version favors pork belly, while the older Muslim Quarter traditions near the drum tower use beef or lamb because of halal custom. The baked lamb buns of Xinjiang are a distant cousin, and the broader family of Chinese breads runs from steamed buns to flatbreads to deep-fried dough sticks.
Ingredients
Ingredients at a glance

The dough is a lean, low-hydration yeasted dough. The low water ratio is deliberate: you want a bun that is firm enough to be slit open and stuffed without collapsing, not a soft pillow like a steamed bao. The braise is built from a handful of whole spices plus a light/dark soy and Shaoxing wine base.
| Ingredient | Amount | Notes / substitute |
|---|---|---|
| All-purpose flour | 260 g (about 2 cups) | Bread flour works too; avoid cake flour, too soft |
| Warm water | 120 ml (½ cup), about 40°C/105°F | Lukewarm tap water is fine |
| Instant yeast | 1 tsp (3 g) | Active dry: proof 5 min in the water first |
| Sugar | 1 tsp | Feeds the yeast, no sweetness in the finished bun |
| Neutral cooking oil | 1 tsp | Keeps the dough supple; any neutral oil |
| Pork belly, skin on | 450 g (1 lb) | Pork shoulder works; see substitution note below |
| Ginger, sliced | 5 slices | Bruise them with the side of a knife |
| Scallion greens | 2 stalks, in sections | Use the green parts; save white for garnish |
| Star anise | 1 whole | More than 2 makes it soapy |
| Bay leaf | 1 | — |
| Cassia / cinnamon stick | 1 small piece (3 cm) | Cassia is more authentic; regular cinnamon ok |
| Fennel seeds | ¼ tsp | Whole, not ground |
| Whole clove | 2 (optional) | Powerful; skip if unsure |
| Sichuan peppercorns | ½ tsp | For a faint numbing warmth |
| Dried red chilies | 4 | Adjust to taste; they add aroma more than heat |
| Light soy sauce | 1 tbsp | Salt and umami; know your light vs dark soy |
| Dark soy sauce | ½ tbsp | Color, not salt |
| Shaoxing rice wine | 1 tbsp | Dry sherry substitutes well |
| Rock sugar | ½ tbsp | Granulated sugar works; rock gives a glossier finish |
| Salt | ½ tsp (plus more to taste the broth) | — |
| Water | Enough to cover the meat | About 600 ml |
| Fresh cilantro (coriander) | 1 handful, chopped | Stirred into the chopped filling |
| Fresh green or red chili | 1–2, minced | Optional; for heat lovers |
Meat substitution. Skin-on pork belly gives the richest, most authentic result because the collagen melts into the broth and the fat bastes the lean fibers. If belly feels too rich or you cannot find it, boneless pork shoulder is the next best choice; it braises to a similar tenderness with less fat. Avoid lean loin, which dries out no matter how long you cook it.
Step-by-step method
- Make the dough. Stir the flour, yeast, sugar, and salt in a bowl. Add the warm water and oil, then mix to a shaggy dough. Knead by hand or in a stand mixer for about 8 minutes until smooth and springy. This is a stiff dough, drier than bread dough, and that firmness is exactly what lets the bun hold a pocket of broth later. If it feels sticky enough to cling to your palm, dust in flour a teaspoon at a time; if it cracks and resists folding, wet your hands, do not pour water in.

Knead for about 8 minutes until the dough is smooth, firm, and springy; it should be drier than bread dough but neither sticky nor cracked.
- Let it rise until doubled. Cover the bowl with a damp towel and leave it in a warm spot for 60 to 90 minutes. You are not chasing huge oven spring here. A modest doubling is enough because the bun is meant to be dense, not airy.

Cover and proof only to a modest doubling; a deep finger hole that neither springs shut nor collapses marks the correct 60-to-90-minute endpoint.
- Blanch the pork. While the dough rises, put the belly in a pot, cover with cold water, and bring it to a boil. Simmer 3 minutes, then drain and rinse the scum off the meat. This step removes coagulated blood proteins that would otherwise cloud the braise and leave a muddy taste. It is not optional if you want a clean, glossy broth.

Start the whole belly in cold water, simmer for 3 minutes once boiling, then drain and rinse away every patch of coagulated scum.
- Build the braise. Return the pork to a clean pot. Add the ginger, scallion greens, all the whole spices, dried chilies, both soy sauces, the wine, rock sugar, and salt. Pour in enough water to cover the meat by a couple of centimeters. Bring it to a boil, then drop the heat to the gentlest simmer you can hold.
- Braise until a chopstick slides through. Cover and cook at least 60 minutes, better 75 to 90, until a chopstick pierces the thickest part with no pushback. The fat should look translucent and the meat should yield. Skim the surface oil once or twice but leave some; that fat carries flavor into the bread. Taste the broth near the end and add salt if it tastes flat. This is the same low-and-slow logic behind red-cooked pork belly and a good master stock.

Hold the gentlest simmer for at least 60 minutes, preferably 75 to 90, and stop when a chopstick crosses the thickest portion without resistance.
- Divide and shape the buns. Punch the dough down and cut it into 4 equal pieces (about 100 g each). Take one piece, flatten it into a long oval, then roll it up into a cylinder like a tiny Swiss roll. Stand the cylinder on one end and press it flat with your palm, then roll it out to a disc about 10 cm / 4 inches across. The roll-then-flatten move layers the dough and helps the bun puff into the characteristic domed shape, the same family of shaping used for a leavened scallion flatbread.

For each of four portions, roll a long oval into a cylinder, stand it on end, press it into a puck, then roll the layered puck to a 10-centimetre disc.
- Cook the buns dry. Heat a heavy skillet over low heat with no oil. Lay in a disc, cover the pan, and cook about 4 minutes until the underside is deep golden with a few dark blisters. Flip, cover again, and cook another 4 minutes. The lid traps steam from the dough itself, which cooks the interior; the dry pan toasts the outside. A cast-iron or carbon-steel pan holds heat more evenly than thin nonstick and gives you a more even char.

Cook over low heat in a completely dry heavy pan, covered for about 4 minutes per side; flip only after the first face turns golden with dark tiger spots.
- Rest the buns briefly. Move them to a rack for a minute so the bottoms do not steam soft. They should sound slightly hollow when tapped.
- Chop the filling and wet it with broth. Lift the pork out of the braise (leave the spices behind). On a board, chop the meat and any attached fat fairly fine, mixing in the chopped cilantro and fresh chili if using. Now pour 2 to 3 tablespoons of the warm braising broth over the chopped meat and toss. This is the move that makes a rou jia mo a rou jia mo. The bread will absorb that broth and stay moist for the few minutes it takes to eat. Without it, the filling is just chopped pork.

Chop the meat and fat into small pieces rather than paste, mix in cilantro and chili, then toss with 2 to 3 tablespoons warm broth until glossy and moist.
- Split and stuff. While the bun is still warm enough to handle, slice it open from one edge with a serrated knife, stopping before you cut all the way through, so it hinges like a clam shell. Pack the wet filling in generously. Serve at once.

Slice from one edge without cutting through, open the warm bun as a hinge, pack in the juicy filling, and serve immediately before the crust softens.
When it goes wrong, and how to fix it
I have made the mistakes so you can skip them. Here are the failures I see most often, in my own kitchen and in reader questions.
- Dry, crumbly filling. The braise was too short, or you skipped the broth-spoon finish. Belly needs at least 75 minutes; shoulder sometimes wants 100. And always ladle broth onto the chopped meat before stuffing.
- Bun is raw and doughy in the middle. The heat was too high. Low and covered is the rule; the trapped steam must finish the inside. If the outside is browning faster than 4 minutes per side, drop the flame and add a minute.
- Bun splits open at the seam while cooking. You rolled it too thin, or the dough was under-rested and fought you. Let the shaped discs relax 5 minutes before they hit the pan if they spring back when rolled.
- The bread collapses or goes soggy the moment it is stuffed. Either the dough was too soft (too much water at the start) or you over-wetted the filling. Aim for the meat to be glossy, not swimming. A correctly made bun can hold a generous pour and still hold together for one hand.
- Braise tastes thin or one-note. You under-spiced or over-diluted. The broth should taste assertive, almost too salty on its own, because the bland bread will temper it. If it is dull after 45 minutes, add a splash more light soy and another star anise.
- Broth is cloudy and grey. The blanch was skipped or rushed. Next time, start the pork in cold water, boil hard for a full 3 minutes, and rinse before the real braise.
Variations, and what to serve alongside
The braise is a template. The same spiced pork is excellent over rice, in the spirit of lu rou fan, or folded into the kind of stuffed breads you find across northern China, from pan-fried meat pies to the crisp-skinned guo kui flatbread. A few directions worth trying:
- Beef or lamb version. Swap the belly for beef chuck or lamb shoulder and braise the same way. This nods to the halal Xi'an tradition and pairs well with a heavier hand of cumin.
- Spicy rou jia mo. Stir a spoonful of chili oil or a smear of doubanjiang into the chopped filling. Heat and fat together is the move; dry chili flakes alone read as harsh.
- Green pepper and pork. The famous qing jiao rou jia mo adds stir-fried diced green peppers to the filling for sweetness and bite. Dice one mild green pepper, blister it in a dry pan, and fold it in with the meat.
For a full meal, rou jia mo sits naturally with a sharp, crunchy side that cuts the richness. A quick cucumber salad in black vinegar and garlic is the classic Xi'an pairing, as is a small bowl of clear soup made from the leftover broth thinned with hot water and scattered with scallion. If you want to lean into a pork-and-bread theme for a crowd, these buns belong on the same table as char siu bao and pan-fried sheng jian bao, or you can round out a pork-heavy spread with ideas from a wider Chinese pork recipe collection.
Storing and reheating
The braise improves overnight and keeps, covered in the fridge, for up to four days; the broth will set into a jelly, which is a good sign. The cooked buns are best eaten the day they are made, but you can freeze shaped raw discs between sheets of parchment and pan-cook them straight from frozen, adding a couple of minutes per side with the lid on.
For an assembled bun, the fastest reheat is the microwave: wrap it loosely and blast on full power for about 40 seconds. It will be soft and steamy rather than crisp, which is a fair trade on a weeknight. To recover some crunch, split it first and toast the open face under the broiler for a minute before refilling.
Frequently asked questions
A few things readers ask again and again.
Can I use a different cut of pork?
Yes. Shoulder is the best swap for belly and braises to a similar tenderness with a little less fat. Loin is too lean and will go dry no matter how long you cook it.
Do I have to rest the dough?
The rise matters, but it does not need to be large. A doubling is plenty, because a dense bun is what you want. If you are short on time, a 45-minute warm rise is workable; the texture will be slightly tighter.
Why blanch the pork first?
It clears blood and scum that would otherwise cloud the broth and leave a dull flavor. Starting the meat in cold water and boiling for three minutes, then rinsing, is the step that gives you a clean, glossy braise.
Can I bake the buns instead of pan-cooking?
You can, at 200°C/400°F for about 15 minutes, but the crust will be softer and breadier than the blistered, dry-pan version. Pan-cooking is the traditional method and gives the chewy, toasted shell that makes the filling pop.
Is rou jia mo very spicy?
The classic filling is fragrant rather than hot. The dried chilies in the braise add aroma, and heat comes mainly from the fresh chili and cilantro stirred in at the end, which you can leave out or increase to taste.
Make the braise the day before if you can. It is the single change that lifts this from good to the thing you remember from a Xi'an night market, and the dough only asks for patience, not skill.



