Posted on Leave a comment

Beef and Broccoli Recipe: Tender Beef, Crisp Broccoli & Chinese-Style Stir-Fry Sauce

Finished beef and broccoli stir-fry with browned beef strips and bright green broccoli coated in glossy brown sauce, served with white rice.

When beef and broccoli is right, the beef bends easily under your fork, the broccoli stays bright with some bite in the stalks, and the brown sauce catches along the edges before slipping into the hot rice underneath.

It can also look perfectly respectable and disappoint at the first bite. Pink beef can be chewy. Wet broccoli can loosen a sauce that seemed fine moments earlier. And a skillet set to “high” can cool so quickly under a pile of cold meat that searing quietly turns into steaming.

Only a few things really need your attention: thin slices across the grain, enough heat under the pan, dry broccoli and sauce that thickens before the final toss. This version of the Chinese-American takeout staple keeps the brown sauce savory rather than sweet, with oyster sauce, soy sauce and Shaoxing wine plus a brief tenderizing marinade for flank steak.

It is built for an ordinary home stove, whether you’re using a wok or a wide skillet. Keeping the pan hot matters more than trying to imitate a restaurant wok. The beef rests while you prepare everything else, so dinner can be on the table in about 30 minutes once the steak is ready to slice.

How to Make Beef and Broccoli Stir Fry

Serves4 with rice
DifficultyEasy, but fast-moving
PrepAbout 20 minutes
CookingAbout 10 minutes
Elapsed timeAbout 30 minutes once the steak is ready to slice
Best pan12-inch (30-cm) heavy skillet or well-heated wok

Beef and Marinade

  • 1 lb (450 g) flank steak
  • 1 tablespoon (15 ml) water
  • 1 teaspoon light or regular soy sauce
  • ¼ teaspoon (about 1 g) baking soda
  • 1 tablespoon (about 8 g) cornstarch
  • 1 teaspoon neutral cooking oil

Using sirloin or flat iron? Both are naturally tender, so you can reduce or omit the baking soda. Firmer cuts need more care; chuck steak can work, while round and stew meat are less forgiving.

Stir-Fry Sauce

  • ½ cup (120 ml) unsalted or low-sodium chicken stock, beef stock or water
  • 2 tablespoons (30 ml) oyster sauce
  • 1 tablespoon (15 ml) light or regular soy sauce
  • 1 tablespoon (15 ml) Shaoxing wine
  • 1 teaspoon dark soy sauce
  • 1½ teaspoons (about 6 g) sugar
  • ½ teaspoon toasted sesame oil
  • ⅛ teaspoon white pepper, or a small pinch

Cornstarch slurry: mix 2 teaspoons (about 6 g) cornstarch with 1 tablespoon (15 ml) cold water.

Broccoli, Aromatics and Oil

  • 1 lb (450 g) broccoli florets, weighed after trimming and cut into fairly even pieces
  • 2–3 tablespoons (30–45 ml) neutral high-heat cooking oil, divided as needed
  • 3 garlic cloves, finely chopped or minced
  • 2 teaspoons finely grated fresh ginger
  • Steamed rice, for serving

Before the pan gets hot: have the beef, broccoli, sauce, slurry, garlic and ginger beside you. Once stir-frying starts, there is very little waiting around.

1. Slice and Marinate the Beef

If the steak is already cold and easy to slice, go straight to the knife. Very soft steak is easier to cut after 15–30 minutes in the freezer, just until it firms up. That optional firming time is extra and is not included in the roughly 30-minute recipe time.

Find the long muscle fibers and cut across them into strips about ⅛–¼ inch (3–6 mm) thick. Keep the slices reasonably even so they cook at about the same rate.

Put the beef in a bowl. Add the water, soy sauce and baking soda and mix until the liquid coats the meat. Mix in the cornstarch, then work in the teaspoon of oil. Leave the beef for about 20 minutes while you prepare the sauce and broccoli.

Two-panel guide showing flank steak sliced perpendicular to its visible grain into thin strips, beside raw beef strips with a light glossy marinade coating in a stainless-steel bowl.
Across the grain shortens the long muscle fibers; after marinating, the strips should still separate easily with only a light sheen.

2. Mix the Sauce

Check your Shaoxing bottle first. Some bottles sold as cooking wine contain added salt; if yours does, use unsalted stock and be cautious with any extra soy later.

Combine the stock, oyster sauce, light soy sauce, Shaoxing wine, dark soy, sugar, sesame oil and white pepper.

Taste only to catch an obviously over-salty combination—the uncooked sauce should taste stronger than the finished dish. Don’t worry about the sharp edge of the Shaoxing; that softens as it cooks.

Give the slurry a quick stir and leave it beside the stove. The cornstarch will settle again before you use it. That’s normal.

3. Give the Broccoli a Head Start

Bring a large saucepan or pot of unsalted water to a strong boil. Add the broccoli and cook for about 30–60 seconds for small-to-medium florets. Larger pieces can need closer to 90 seconds.

Trust the stalk more than the clock. Take the broccoli out when it has turned vivid green and looks almost ready to eat, but the stalks still have some firmness.

Drain thoroughly and let the steam escape. If the florets still look wet, spread them over a clean kitchen towel or paper towels for a minute.

Two-panel comparison showing bright green broccoli just after blanching in a stainless strainer and drained broccoli resting on a rack with dry-looking surfaces.
Pull the broccoli while the stalks still resist slightly, then spread it out so steam and surface moisture can escape.

Water on the broccoli becomes water in the sauce.

4. Sear the Beef

Heat a 12-inch (30-cm) heavy skillet over medium-high to high heat until hot. A carbon-steel wok can go hotter; with nonstick cookware, stay within the manufacturer’s recommended heat range.

Add about 1 tablespoon oil and spread the beef into a mostly single layer. Your first batch will tell you a lot about the pan. If the beef keeps sizzling, carry on. When the sound dies and liquid gathers around the slices, cook less meat at once.

Side-by-side skillets showing crowded beef strips steaming in released liquid and spaced beef strips browning against a drier hot pan.
Use exposed pan as a batch-size check: if the beef would cover almost the whole skillet, split the batch. Open hot metal gives moisture somewhere to escape, helping the beef sear instead of steam.

Give the first side a moment of uninterrupted contact, then toss. Cook until the surfaces are browned and the meat is nearly done, usually about 2 minutes for thin slices.

Transfer the first batch to a plate. Wipe away blackened marinade residue, add fresh oil if the pan looks dry, then cook the remaining beef in another batch if needed.

5. Finish the Sauce

Turn the heat down slightly if the empty pan is fiercely hot. Add a splash of oil when needed, followed by the garlic and ginger. Stir for about 15 seconds. The kitchen should smell of garlic and ginger almost immediately. That’s enough.

Pour in the sauce and bring it to a lively simmer. As it bubbles, the color deepens and the sharp edge of the Shaoxing softens.

Stir the slurry again—cornstarch settles quickly—then pour in about three-quarters while stirring the bubbling sauce. Give it 20–30 seconds before deciding whether it needs the rest.

Glossy brown stir-fry sauce simmering in a black wok while a metal spoon moves through the thickening sauce.
A spoon trail should close again quickly. If the channel stays sharply open behind the spoon, stop adding slurry—the sauce is already heading toward too thick.

The sauce is ready when it leaves a light coating on a spatula and moves easily around the skillet. Don’t chase thickness after that point.

6. Bring Everything Together

Return the broccoli and beef, along with any small amount of juices on the plate, while the sauce is bubbling. If there is an unusually large watery puddle from the beef, leave most of it behind. Toss until the beef has just cooked through and everything is evenly coated, usually 30–60 seconds.

Thin beef strips and bright green broccoli being tossed above a hot wok with glossy brown sauce droplets and visible steam.

The sauce should catch along the edges of the broccoli and beef without burying them. Take the pan off the heat while it is slightly looser than you want on the plate; cornstarch sauces tighten as they cool.

Taste before adding more seasoning. A few drops of soy can fix a sauce that needs salt; a tablespoon of hot water or unsalted stock can loosen one that has become too intense or thick.

Serve Over Hot Rice

Spoon it over hot rice. The best bites have a strip of beef, a floret and enough sauce underneath to soak into the grains.

A spoonful of beef and broccoli held above white rice as glossy brown sauce flows from the spoon into the rice.
The finished sauce should slip between the rice grains rather than sit on top in a sticky mound.

How to Keep the Beef Tender

Velveting helps, but beef that stays chewy even with a pink center usually points to the cut, slicing direction or thickness. A thick strip cut with the grain won’t become tender just because it spent a few fewer seconds in the skillet.

What Is the Best Steak for Beef and Broccoli?

CutWhat to expectHow to use it
Flank steakLean, beefy, clearly grainedThe default here. Slice thinly across the grain and use the light marinade.
SirloinTender and forgivingAn easy substitute; little or no baking soda is needed.
Flat ironVery tenderExcellent for quick cooking; little or no baking soda is needed.
Skirt steakDeep flavor, strong visible grainSlice thinly and clearly across the grain.
Chuck steakBeefy and firmer than flank or sirloinSlice very thinly across the grain. It can work here, but expect a little more chew with this light marinade.
RoundLean and fairly firmSlice very thinly. Flank or sirloin is easier for this quick method.
Pre-cut stir-fry stripsConvenient, variable qualityChoose thin, even strips intended for fast cooking.
Chuck roast or stew beefUsually better suited to slower cookingSkip it for this quick stir-fry.
Beef grain guide showing flank and skirt with strong visible grain, sirloin and flat iron with finer grain, firmer chuck steak and round, and chuck roast or stew beef for slower cooking.
Use the label to identify the cut, then use the visible fibers to decide slicing direction. Grain direction matters more than the steak’s trimmed shape.

What the Beef Marinade Actually Does

This is a light velveting treatment, not an aggressive tenderizing soak. Soy seasons the surface, water gives the beef some moisture to absorb, and the modest amount of baking soda helps flank steak stay tender during fast cooking. Cornstarch forms a thin coating before the oil goes in.

Baking soda tenderizes. Cornstarch coats. That’s the useful distinction.

For flank steak, ¼ teaspoon baking soda for 1 lb (450 g) is deliberately modest. Sirloin or flat iron may not need it. Too much baking soda—or leaving the beef in it much longer than intended—can create an alkaline taste and an unnaturally soft texture.

Beef and Broccoli Sauce: Savory and Not Too Sweet

Oyster sauce does most of the heavy lifting here, giving the brown sauce its depth and body. Soy brings the salt, while the teaspoon of dark soy is mainly there for deeper color. Shaoxing adds its characteristic wine aroma, and the small amount of sugar rounds everything without turning the sauce sweet.

If you want a sweeter, more glaze-like sauce, that’s closer to homemade teriyaki sauce. Here, the sauce stays looser and less sweet so it can coat the beef, broccoli and rice without turning sticky.

How Thick Should the Sauce Be?

Think coating, not pudding. The sauce should cling lightly to the beef and broccoli, then flow back into the pan when you move a spatula through it. If it barely moves, loosen it before the final toss.

Three-panel comparison showing thin brown sauce running quickly from a spoon, correctly thickened sauce lightly coating and flowing, and overly thick sauce clinging in a slow heavy ribbon.
Thin sauce usually needs more simmering before more starch; overly thick sauce needs hot water or unsalted stock. The middle is the stopping point.

Want Extra Sauce for Rice?

Increase the stock to ¾ cup (180 ml) and the oyster sauce to 2½ tablespoons. Keep the light soy, Shaoxing wine, dark soy, sugar, sesame oil and white pepper at their original amounts.

This version is deliberately a little lighter rather than simply scaling every salty ingredient upward. You get more for the rice without making the whole bowl overly salty.

For the larger slurry, mix 1 tablespoon (about 8 g) cornstarch with 2 tablespoons (30 ml) cold water. Add it gradually; you may not need all of it. The consistency should still be glossy and coating, but you’ll have more left in the pan to spoon over the rice.

Fresh or Frozen Broccoli?

Frozen broccoli is useful here too. Skip the blanch. Heat it separately only until thawed and barely hot, then drain and blot away obvious moisture before it meets the sauce.

It won’t have the firmness of fresh broccoli, and that’s fine. The important part is keeping its extra water out of the skillet.

Side-by-side comparison of fresh broccoli after a brief blanch and thawed frozen broccoli with visible released water on a stainless-steel tray.
With frozen broccoli, moisture control matters more than extra cooking: thaw, drain and blot before the florets meet the sauce.

Wok or Skillet?

A carbon-steel wok shines over a strong gas flame. On many electric and induction stoves, a broad 12-inch (30-cm) skillet gives the beef a larger hot surface underneath it. If your burner is weaker, smaller batches matter more than pan shape.

Doubling the recipe means doubling the batches too. The skillet doesn’t get larger because the ingredient list did.

Side-by-side comparison of beef and broccoli cooking in a carbon-steel wok over a strong blue gas flame and in a broad skillet on a flat electric or induction cooktop.
Strong gas suits a wok; flat electric or induction heat often gives a broad skillet the more useful contact area.

Ingredient Substitutions

Some swaps barely change the dish; others can throw off the beef texture or the balance of the sauce.

Instead of…Try…What changes
Flank steakSirloin or flat ironUsually needs little or no baking soda.
Oyster sauceMushroom-style vegetarian oyster sauceThe closest easy substitute; use it in roughly the same way. Check labels if allergies matter.
Oyster sauceHoisinNot a direct substitute. If it is all you have, expect a sweeter, different sauce and reduce or omit the added sugar.
Soy sauceCoconut aminosSweeter and usually less salty. Reduce the sugar. Check the other condiments too if the entire dish needs to be soy-free.
Shaoxing wineDry sherryThe easiest close substitute.
Shaoxing wineMirinSweeter and less savory. Start with slightly less than the Shaoxing amount and omit the recipe sugar; adjust after tasting.
No cooking wine availableUnsalted stockThe sauce will be simpler and less aromatic.
Dark soyOmit itThe sauce will be lighter. Don’t replace it measure-for-measure with regular soy.

Don’t confuse rice wine with rice vinegar. Rice vinegar is much more acidic and is not a substitute for Shaoxing wine here.

For a gluten-free version: use gluten-free tamari, a gluten-free oyster-style sauce and gluten-free stock. Shaoxing wine is traditionally made with a wheat-based starter, so dry sherry is the simpler choice unless you know your bottle is gluten-free. Check the other packaged sauces too, since brands vary.

Variations

Mushrooms. After the beef comes out of the pan, brown sliced mushrooms until their released water has cooked away. Then continue with the garlic, ginger and sauce.

Carrots. Slice them thin and add them to the blanching water shortly before the broccoli so they get extra time to soften.

Bell peppers. After the beef comes out, stir-fry thinly sliced bell pepper briefly, then continue with the garlic and ginger; leave the pepper slightly crisp.

Spicy. Add crushed red pepper with the garlic and ginger, or finish individual bowls with chili oil or chili crisp.

What to Serve With Beef and Broccoli

Steamed jasmine rice or long-grain white rice is the easiest pairing. Brown rice works too. If you’d rather not guess at the rice, the guide to cooking rice has ratios and timings for the common varieties.

A cold cucumber salad gives the meal something completely different: crisp, cool and acidic against the warm brown sauce.

Complete beef and broccoli dinner with glossy beef strips and green broccoli on a dark serving plate, with white rice and a separate cucumber salad.

Storage, Reheating and Prep Ahead

This stir-fry is best straight from the pan. The next day it can taste very good, but the broccoli softens and the sauce loses some of its freshly cooked texture.

Refrigerate leftovers within 2 hours of cooking, or within 1 hour when the surrounding temperature is above 90°F / 32°C. Use refrigerated leftovers within 3–4 days.

The USDA leftovers guidance recommends reheating leftovers to 165°F / 74°C.

Warm only what you plan to eat. A skillet over moderate heat gives you good control, and a spoonful of water or unsalted stock can loosen sauce that tightened in the refrigerator.

You can cut the broccoli, slice the steak and mix the sauce earlier in the day and refrigerate them separately. Add the baking soda and the rest of the short beef marinade closer to cooking.

Freezing works, but it isn’t the best storage choice for this dish. The broccoli softens noticeably after thawing, which takes away much of the texture that makes the stir-fry good.

Troubleshooting Beef and Broccoli

Start with what changed. Did the sauce thin only after the broccoli went in? Did the beef turn gray as soon as it hit the pan? Is it chewy even though the center isn’t overcooked? Those clues tell you more than simply adding heat, starch or cooking time.

Beef Problems

What happenedWhat to do
The beef is chewy, even though it may still be pink inside.
A firmer cut, slices running with the grain or pieces that are too thick can all stay chewy before the beef looks obviously overcooked. Dry, gray beef may simply have cooked too long.
Now: If the beef is still underdone, finish cooking it only as much as needed; extra cooking won’t fix chewiness caused by the cut, grain or thickness. Keep it well coated with sauce and cut unusually large strips smaller before serving.
Next time: Choose a suitable cut, slice about 3–6 mm across the grain and remove the beef while it is still just shy of done.
Some pieces are tender and others are tough.
Uneven slicing is the usual reason.
This can’t really be evened out after cooking. Next time, keep the slices as consistent in thickness as practical.
The beef tastes alkaline or feels strangely soft.
Too much baking soda was used, or the beef sat in it for too long.
The texture can’t really be reversed. Extra unsalted sauce, vegetables and rice may soften an alkaline taste. Next time, measure the baking soda carefully and keep to the short marinade rest.
The beef is gray and sitting in liquid.
The pan lost too much heat.
Now: Stop adding beef, let the moisture cook away and finish the remaining meat separately.
Next time: Use smaller batches and let the pan recover between them.

Sauce Problems

Thickness and Texture Problems

What happenedWhat to do
The sauce won’t thicken.
The slurry may have settled, the sauce may not be simmering, or there may be too little starch for the liquid in the pan.
Now: Remove already-cooked beef and broccoli if necessary. Mix 1 teaspoon cornstarch with 2 teaspoons cold water and add it gradually to the bubbling sauce.
Next time: Re-stir the slurry immediately before pouring and give it a moment to cook.
The sauce was thick until the broccoli went in.
The vegetables probably carried water into the skillet.
Now: Remove finished beef and broccoli and reduce the sauce briefly before reaching for more starch.
Next time: Drain and dry the broccoli thoroughly.
The sauce is gummy.
Too much starch went in, or the sauce reduced too far.
Now: Add unsalted stock or water 1 tablespoon (15 ml) at a time until it flows again.
Next time: Add the slurry gradually.

Flavor Problems

What happenedWhat to do
The sauce is too salty.
Soy, oyster sauce, stock and sometimes salted Shaoxing cooking wine can add up.
Now: Slightly salty? Loosen it with unsalted stock or water. Badly oversalted? Spoon out some sauce first, then replace that volume with unsalted liquid. Plain rice or extra unseasoned broccoli can soften the overall saltiness.
Next time: Check condiment labels and taste the uncooked sauce only for an obviously over-salty combination.
The sauce is too sweet.
Too much sugar went in, or a sweeter substitute such as hoisin or mirin wasn’t accounted for.
Now: Add a splash of unsalted stock or water first. If the sauce then tastes flat, add oyster sauce or soy a few drops at a time.
Next time: Reduce the added sugar when using sweeter substitutes.
The sauce tastes bitter.
The garlic, ginger or dark residue in the pan probably scorched.
Now: Remove the burned pieces and taste. A few scorched flecks may not ruin the sauce. If the bitterness has spread through it, wipe the pan clean and remake the sauce mixture.
Next time: Lower the heat before adding the aromatics and move on as soon as they smell fragrant.

Broccoli and Pan Problems

What happenedWhat to do
The broccoli is hard.
The florets were large or needed more of a head start.
Now: Take the beef out, add a splash of water, cover the pan briefly and let the broccoli steam until the stalks begin to yield. Uncover, let excess water cook away, then return the beef.
Next time: Cut the florets more evenly and use stalk tenderness as the cue, not only the clock.
The broccoli is mushy.
It cooked too far before or during the final toss.
The texture can’t be restored once it becomes soft. Next time, take it out of the blanching water earlier and remember that it cooks again during the final toss.
The second beef batch tastes burned.
Marinade residue from the first batch scorched in the pan.
Now: Remove burned solids before continuing.
Next time: Wipe away blackened residue between batches and add fresh oil when needed.
A doubled recipe turns watery.
Twice the cold food went into the same-size skillet.
Now: Remove some of the food and finish it in batches.
Next time: Double the ingredients, not the amount your pan is expected to sear at once.

Once it looks right, stop fussing with it. Spoon everything over hot rice and eat it while the pan is still steaming.

Posted on Leave a comment

Pozole Rojo Recipe: Authentic Mexican Pork Pozole With Hominy

Portrait view of a green bowl filled with red pozole broth, large hominy kernels and pork chunks, topped with shredded cabbage, chopped white onion, radish slices, oregano, and a lime wedge.

A bowl of pozole rojo lands on the table hot and deeply savory: tender pork, plump hominy and a brick-red chile broth. Then you start changing it. Cold cabbage, sliced radish, onion, crushed oregano and lime make the next spoonful sharper, fresher and crunchier than the first. Part of the pleasure is that the pot is shared, but each bowl is yours to finish.

Pozole rojo is a Mexican hominy-and-meat soup or stew flavored and colored with dried red chiles. The details vary by region and household. Here, pork shoulder builds the broth while guajillo and ancho make the rojo, with chile de árbol available when you want more heat.

None of the individual steps is especially difficult. What matters is knowing when to stop toasting a chile, when the shoulder is ready for the next stage and what kind of hominy you actually bought. Those small decisions matter far more than throwing extra spices into the pot at the end.

Use the times below as checkpoints, not finish lines. We’re aiming for a loose, brick-red broth with tender pork that still holds as pieces. The hominy should taste seasoned by the pot around it, and the garnishes should brighten an already good bowl rather than rescue it.

Quick Answer: How to Make Pozole Rojo

  • Simmer the pork. Cook pork shoulder gently with onion, garlic and bay until nearly tender.
  • Make the rojo. Briefly toast guajillo and ancho chiles, soften them, blend with aromatics, strain, then cook the puree in a little fat until glossy and no longer raw-smelling.
  • Bring the pot together. Add the rojo and rinsed hominy while the shoulder still has a little resistance. Simmer another 30–45 minutes.
  • Finish the bowls. Add cabbage or lettuce, radishes, white onion, Mexican oregano and lime. Serve tostadas and extra chile alongside.
On This Page

Before You Start: Make These 3 Choices

ChooseUse ThisWhy
Pork3 lb / 1.36 kg boneless shoulderForgiving, flavorful and rich enough to build the broth
ChilesGuajillo + ancho; árbol optionalGuajillo carries the red-chile flavor, ancho adds depth and árbol brings heat
Hominy4 × 15-oz / 425-g cansOur default: hominy in nearly every spoonful without taking over the bowl

Using bone-in shoulder? Buy roughly 3½–4 lb / 1.6–1.8 kg and, if possible, have the butcher cut it into several large pieces. A whole bone-in roast will cook differently from 2-inch chunks.

Using dried hominy? Read the dried-hominy instructions first. You need corn that has already been nixtamalized but still requires soaking and cooking; untreated dried corn is a different project.

Once those choices are settled, the cooking is mostly a matter of timing the pork and rojo so they reach the finished pot at the right moment.


Pozole Rojo Recipe

This pork pozole rojo uses whole dried guajillo and ancho chiles rather than canned enchilada or red sauce. The main pot stays mild to moderate, leaving plenty of room for extra chile at the table.

  • Serves: 8 as a main course; about 10–12 smaller portions
  • Prep: about 30 minutes
  • Hands-on cooking after prep: about 15–30 minutes
  • Cook/simmer: about 2½–3 hours
  • Total with canned hominy: about 3–3½ hours
  • Heat: mild to moderate, adjustable
  • Recommended pot: about 8 qt / 7.5 L

Starting with dried hominy adds considerably more time: commonly an overnight soak plus several hours of separate cooking, depending on the product.

Equipment

  • 8-quart / approximately 7.5-L stockpot or Dutch oven
  • Blender suitable for hot foods
  • Fine-mesh sieve
  • Medium saucepan or high-sided skillet
  • Heatproof bowl
  • Tongs or slotted spoon
  • Knife and cutting board

For the Pork Broth

  • 3 lb / 1.36 kg boneless pork shoulder, cut into roughly 2-inch / 5-cm pieces
  • Optional for a richer broth: 1 lb / 450 g pork neck bones, meaty ribs, shank or pig’s feet
  • 10 cups / 2.4 L water to start, or enough to mostly cover the pork
  • 1–2 cups / 240–475 ml additional hot water, available if needed
  • ½ large white onion
  • 4 garlic cloves, peeled
  • 2 bay leaves
  • 18 g fine sea salt, divided, plus more to taste

If the shoulder has a very thick, hard exterior fat cap, trim away the excess. Leave the softer fat and marbling that help keep the meat juicy.

Salt varies enormously by brand and crystal size, so weight is the most reliable measure. Start with about 12 g in the broth and reserve roughly 6 g for final seasoning.

No scale? With fine sea salt, about 2 teaspoons is a conservative starting point for the broth; season the finished pot gradually. Kosher salts vary substantially by crystal size and shouldn’t be substituted spoon-for-spoon.

Water is the default because the pork is building its own broth. With boneless shoulder and no extra bones, some low-sodium stock can replace part of the water for a slightly fuller starting point. Reduce the added salt accordingly.

For the Red Chile Sauce

  • 6 medium dried guajillo chiles, 30–35 g
  • 3 medium dried ancho chiles, 30–40 g
  • 0–2 dried chiles de árbol, optional for heat
  • ½ large white onion
  • 4 garlic cloves
  • 2 teaspoons Mexican oregano
  • ½ teaspoon freshly ground black pepper
  • 2 tablespoons / 30 ml lard or neutral cooking oil
  • 1–2 cups / 240–475 ml pork broth from the pot, as needed for blending

Chile sizes vary enormously, so let the gram weight win when your particular chiles look unusually large or small.

Mediterranean oregano will work if Mexican oregano isn’t available, though the aroma is different.

For the Hominy

  • 4 cans hominy, 15 oz / 425 g each, about 60 oz / 1.7 kg packaged weight total, drained and thoroughly rinsed

White or golden/yellow canned hominy both work.

For Serving

  • 3–4 cups finely shredded cabbage or lettuce
  • 6–8 radishes, thinly sliced
  • ½–1 medium white onion, finely chopped
  • 4–6 limes, cut into wedges
  • About 2 tablespoons Mexican oregano
  • 8–12 tostadas
  • Optional avocado, cilantro and hot chile salsa

1. Start the Pork Broth

Put the pork shoulder, optional bone-rich pork, ½ onion, 4 garlic cloves, bay leaves, about 12 g salt and 10 cups / 2.4 L water in the pot. Most of the pork should sit beneath the liquid; add a little more water if your pot or bone-in pieces require it.

Bring the pot just to a boil over medium-high heat. Skim away the heavier gray foam that gathers on the surface.

Lower the heat as soon as the broth boils. Partially cover and maintain a gentle simmer with lazy bubbles appearing here and there.

This is the quiet part of the recipe. Keep an eye on the liquid level, add hot water if the pork becomes too exposed, and let the shoulder simmer for about 1½ hours while you turn to the chiles.

2. Prepare and Toast the Chiles Briefly

Stem the guajillo and ancho chiles and shake or scrape out most of the seeds. Stem the árbol chiles too, if using.

Heat a dry skillet over medium to medium-low heat. Press a guajillo or ancho against the hot surface for about 5–10 seconds, flip and warm the other side briefly.

The chile should smell fragrant and become slightly more pliable. Still cold and stiff? Give it another brief contact with the pan.

Árbol chiles are thin and scorch quickly. Warm them for only a few seconds or put them straight into the soaking bowl. Blackened patches, smoke or an acrid smell mean a chile has burned; replace a badly scorched one.

Side-by-side dried chiles labeled Toasted and Scorched on a blue background; the toasted chiles remain glossy dark red while the scorched chiles have extensive blackened patches.
With guajillo and ancho chiles, it is safer to stop a little early than a little late. A chile that is merely under-toasted can still flavor the rojo; a badly scorched one can bring bitterness that soaking will not undo.

3. Soften the Chiles

Put the chiles in a heatproof bowl and cover with very hot water. Soak for about 15–20 minutes, until they bend and fold easily without cracking.

Taste a little of the soaking water. If it tastes pleasantly chile-like, use some for blending. If it tastes bitter, burnt or unpleasantly harsh, discard it and use pork broth instead.

4. Blend and Strain the Rojo

Put the softened chiles in a blender with the remaining ½ onion, 4 garlic cloves, Mexican oregano, black pepper and about 1 cup / 240 ml pork broth.

Let steaming-hot broth stand for a few minutes before blending. Don’t overfill the jar, and follow your blender manufacturer’s instructions for venting hot liquids safely.

Blend until smooth, adding only enough extra broth to keep everything moving. The puree should pour easily. Push it through a fine-mesh sieve to catch tougher pieces of chile skin that could make the finished broth gritty.

5. Cook the Red Chile Sauce

Heat the lard or oil in a high-sided skillet or saucepan over medium heat. Carefully pour in the strained puree; it can splatter when it meets the hot fat.

Cook for about 8–12 minutes, stirring regularly. The puree will darken slightly and turn glossy as the sharp soaked-chile smell cooks away. Once it smells cooked rather than raw, move on.

Two metal bowls labeled Raw Rojo and Cooked Rojo show a brighter red raw chile sauce beside a slightly darker, glossier cooked sauce.
The visual change in a properly cooked red chile sauce for pozole is intentionally subtle. If the rojo becomes so thick that it has to be scraped from the pan instead of poured, it has reduced farther than this recipe needs.

Cooking the rojo separately isn’t mandatory, but it is deliberate here: the short fry concentrates the puree before it joins the pork broth.

6. Check the Pork

At around 1¾–2 hours total simmering time, test a piece of shoulder. A fork should enter much more easily than it did at the beginning. A little resistance is fine because the meat still has another 30–45 minutes in the finished pot.

Meat that remains tight and rubbery needs another 20–30 minutes at the same gentle simmer.

Remove the bay leaves and any large pieces of broth onion. If you used neck bones, ribs or shank, remove the bones, pull off any tender meat and return it to the pot. With pig’s feet, keep whatever tender edible pieces you enjoy and discard the hard bones.

Pork becomes safe to eat before shoulder becomes tender enough for pozole. Keep cooking for the texture, not the thermometer alone.

7. Add the Rojo and Hominy

Stir the cooked rojo into the pork broth. The pale broth turns brick-red almost immediately, and the smell of the pot shifts from mostly pork and garlic to something unmistakably chile-rich.

Smooth red chile sauce being poured into a stainless-steel pot of pale pork broth with visible pork chunks, creating red swirls through the simmering liquid.
A properly strained rojo should disappear into the pork broth, not float through it as chile-skin flecks or coarse pulp. That smooth dispersion is one reason straining matters even though the sauce will simmer again in the finished pot.

Add the drained and thoroughly rinsed hominy. Return the pot to a gentle simmer and cook for another 30–45 minutes, uncovered or partially covered.

For this version, stop before the shoulder falls completely into shreds. It should yield easily while still leaving you substantial pieces of pork.

The hominy should no longer taste like plain kernels dropped into soup; it should taste of the pork-and-chile broth around it.

8. Season and Serve

Now taste. Add the remaining reserved salt gradually, stirring and tasting between additions.

A watery broth needs reduction before much more salt. An over-concentrated one needs hot water or unsalted stock first. Skim off large pools of fat while leaving a light sheen on the surface.

Ladle pork, hominy and plenty of rojo into bowls and bring the garnishes to the table.


What Should Good Pozole Rojo Taste and Feel Like?

Taste the broth first. Pork and dried chile should feel like they belong to the same liquid; it shouldn’t taste like plain stock with red sauce stirred in at the end. Drag a spoon through it. The broth should move easily, with enough body from pork, corn and chile to linger lightly on the spoon without turning into chile gravy.

The color may look fiercer than the heat. A deeply red bowl can still be quite mild, especially when the rojo relies mostly on guajillo and ancho.

Break a piece of shoulder with the edge of your spoon. It should separate with gentle pressure while still giving you an actual piece of pork to lift and eat.

Bite a hominy kernel in half. Tender with a little chew is good; a hard or chalky center needs more cooking.

Three stacked close-up photographs labeled Broth, Pork, and Hominy show flowing red broth in a ladle, tender pork shoulder separating under utensils, and large opened cooked hominy kernels.
These three checkpoints do not always finish at the same minute. If one component still lags, cook for that cue rather than the clock, then recheck the broth, pork and hominy before serving.

Now add lime to one spoonful or one side of the bowl and taste again. Lime shouldn’t rescue a bland broth. It should make an already savory one feel brighter, fresher and less heavy.

Something still off? Jump to Pozole Rojo Troubleshooting →

How to Serve Pozole Rojo

The garnishes finish the bowl. Cabbage or lettuce cools the hot broth, radish adds a peppery snap, onion brings fresh sharpness, Mexican oregano adds aroma and lime cuts through the richness of the pork. Tostadas bring the crunch.

Put the garnishes down the middle of the table and leave the bowls unfinished. Someone will pile on cabbage, somebody else will mostly want lime and oregano, and the person chasing heat can reach for the salsa. By the time everyone starts eating, no two bowls need to look quite the same.

Avocado, cilantro and extra chile salsa are also common additions in different households. Crema and cheese also appear in some versions, but they aren’t part of the core garnish set used here.

To build a bowl, ladle in pork, hominy and plenty of broth. Add cabbage, radish and chopped onion. Rub a little oregano between your fingers over the steam, squeeze in lime and then decide how much extra chile you want.

Pozole is built for a table full of people. One pot can stay hot while everyone finishes a bowl differently. Someone goes back for seconds, someone adds another squeeze of lime, and the cook can stay at the table instead of assembling every serving.

Steaming pot of pozole rojo surrounded by three bowls with different toppings; one emphasizes cabbage and radish, one lime and oregano, and one red chile salsa, while two hands add lime and herbs.
Keep the shared pot balanced; lime, Mexican oregano and extra chile can move each bowl brighter, sharper or hotter at the table.

That flexibility at the table reflects a broader truth about pozole: there isn’t one national pot that everyone makes exactly the same way.

About This Style of Pozole Rojo

Mexican pozole rojo varies by region and household in its chile blend, pork cuts, aromatics and garnishes. Mexico’s Secretaría de Agricultura describes red pozole as particularly associated with Jalisco, with ancho and guajillo among the chiles used and pork among the common meats.

This pot follows that familiar line: nixtamalized corn, pork, guajillo and ancho. Other versions may change the chile blend, include tomato or use aromatics such as cumin, clove, mint or cilantro. Those differences are part of the dish’s regional and household life.

Pozole, Posole and the Three Main Styles

Pozole is the standard spelling in Mexican Spanish. Posole is an established spelling in the United States, particularly in New Mexican and Southwestern cooking, where the word may refer to the prepared corn as well as the finished dish. New Mexican red posole often centers on New Mexico red chile rather than the guajillo-and-ancho blend used here.

  • Rojo: Pozole rojo gets its defining character from dried red chiles.
  • Verde: Pozole verde takes its green character from ingredients such as green chiles, tomatillos and herbs, depending on the region and recipe.
  • Blanco: Pozole blanco leaves out a defining red or green chile sauce so the pale meat-and-hominy broth takes center stage.

Within that range, changing the chile blend is one of the easiest ways to change the character of the pot.

What Each Chile Does in Pozole Rojo

Guajillo, ancho and árbol may all look like dried red peppers in the bag, but they do very different jobs once they reach the pot.

Six dried Mexican chiles arranged vertically on a plum background and labeled Guajillo, Ancho, Árbol, Pasilla, Morita, and Cascabel, showing their different sizes, shapes, and colors.
For dried Mexican chiles, silhouette is often easier to compare than exact color: ancho is broad, guajillo elongated, árbol thin, pasilla long and narrow, morita small and compact, and cascabel distinctly round.
ChileFlavor / RoleHeatBest When You Want…
GuajilloFruity red-chile backboneMildA vivid red broth without much extra heat
AnchoDark fruit, sweetness and depthMildA rounder, deeper rojo
ÁrbolClean, direct heatHotMore heat without adding much bulk
PasillaEarthy complexityMildA darker, earthier blend
MoritaSmoky chile characterMediumA noticeable smoky edge
CascabelRounded, nutty chile flavorMildA softer, nuttier direction

The first three make the formula above. Think of pasilla, morita and cascabel as directions you can take the blend rather than automatic one-for-one replacements.

Look for guajillos and anchos that still bend somewhat instead of shattering immediately. Their skins should retain some color and sheen, and the bag should smell fruity or earthy. A good bag announces itself before you ever turn on the stove; faded, dusty and brittle chiles tend to taste flatter.

Why Guajillo Leads the Blend

Tear open a good guajillo and its role makes sense: fruity, warm and distinctly red-chile without much aggressive heat. It carries most of the rojo’s chile character here. Ancho sits behind it with darker fruitiness and depth.

Controlling the Heat

More guajillo or ancho usually gives you more chile flavor without dramatically increasing the heat. Chile de árbol is the heat lever.

  • Mild: omit árbol
  • Moderate: start with 1 árbol
  • Hotter: try 2 árbol and offer extra salsa at the table

Árbol chiles vary in strength, so those amounts are only a rough guide. Build depth in the pot; let serious heat happen at the table.

Guajillo-heavy blends also tend to look brighter. More ancho, pasilla or morita pulls the broth toward brick-red or brown-red. Both can be completely normal; darker color becomes a warning sign only when the broth also tastes burnt or acrid.

For a deeper look at how dried peppers soften, blend and change once cooked, see our guide to cooking with dried pepper sauces.

Cooking now? Return to Step 2: Toast the Chiles → or go back to the full Pozole Rojo Recipe.

Hominy for Pozole: Canned, Frozen or Dried

Hominy begins as corn, but nixtamalization gives it the plump kernels and distinctive flavor expected in pozole. It tastes corn-forward, mildly earthy and nutty rather than sweet like canned sweetcorn, with a tender but substantial chew.

Three metal bowls compare canned hominy, frozen prepared hominy, and dried prepared hominy; the canned and frozen kernels are large and hydrated while the dried kernels are noticeably smaller.
Think about prepared size rather than dry size when comparing hominy. Canned and frozen prepared kernels have already swollen substantially; dried prepared hominy starts smaller because much of that expansion still has to happen in the pot.

Our homemade corn tortilla guide explains the same transformation from the masa side: masa harina is also made from nixtamalized corn, which is why it behaves so differently from ordinary cornmeal. Regular canned sweetcorn won’t give you the same flavor or texture.

How Much Canned Hominy?

Our default is four 15-ounce cans. That puts hominy in nearly every spoonful while leaving plenty of room for pork and broth.

For About 3 lb / 1.36 kg PorkHow the Pot Changes
3 × 15-oz cansBrothier and more pork-forward
4 × 15-oz cansOur default
5 × 15-oz cansVery hearty and hominy-forward

Canned hominy is already tender. The 30–45 minutes it spends in this pot are about integration: the kernels absorb the red broth while the broth picks up more corn character. Add them a little later if you prefer a firmer, more distinct kernel.

Rinse First; Blanch or Roast Only if You Want To

Rinsing is the default. Drain canned hominy and rinse it thoroughly under cool running water.

A noticeable canned flavor is a reason to blanch: put the rinsed kernels into fresh boiling water, let the water return to a boil, then drain and rinse again.

Roasting is optional. For firmer texture and a slightly more concentrated corn flavor, dry the rinsed hominy and roast at 450°F / 230°C for 15–20 minutes, tossing once, until fragrant and beginning to brown.

Prepared frozen hominy is a useful middle ground when you can find it. Cook it according to the package directions until tender, then add it with the rojo in Step 7.

Using canned hominy, as in the main recipe? Return to Step 7: Add the Rojo and Hominy → The next section is only for cooks starting with dried hominy.

Using Dried Hominy Instead

Dried hominy can give pozole an especially full corn flavor. The first job is making sure you bought the right corn.

You want dried corn that has already been nixtamalized but still needs soaking and cooking. Packaging may call it prepared dried hominy, dried posole or prepared pozole corn.

Be careful with names alone. Maíz pozolero or cacahuazintle does not necessarily mean the corn in a particular bag has already been nixtamalized. Look for prepared/nixtamalized wording or follow the producer’s preparation instructions. Untreated dried corn requires another process entirely.

Prepared hominy varies by producer, so let the package directions win here. Rancho Gordo is a useful reference if you’re unsure whether the dried corn you bought is already prepared or still needs nixtamalization.

Once you know which corn you bought, the rest is mostly patience.

How to Cook Dried Hominy for Pozole

For this batch, start with 14–16 oz / 400–450 g dried prepared hominy. A pound / 454 g typically yields about 6–7 cups cooked, though variety and final tenderness affect the yield.

  1. Sort and rinse the kernels.
  2. Soak according to the package directions; an 8-hour or overnight soak is common for prepared dried hominy.
  3. Drain and cover with fresh water by about 2 inches / 5 cm.
  4. Bring the corn to a boil as directed by the producer.
  5. Reduce to a steady simmer and cook until tender, commonly 2–4 hours or longer.

Taste a kernel. Still hard or chalky in the middle? Keep cooking. Fully cooked hominy should be tender and pleasantly chewy, and many kernels will split or bloom at one end.

Reserve some cooking liquid, then drain. Use roughly 6–7 cups cooked hominy in place of the canned hominy and add it with the rojo in Step 7. Save the cooking liquid for loosening the finished broth if needed.

Ready to use the hominy? Return to Step 7: Add the Rojo and Hominy →

Choosing Pork for Pozole

For this pot, buy pork shoulder unless you have a reason not to. Its marbling and connective tissue keep the meat juicy through a long simmer and contribute body to the broth.

Neck bones, meaty ribs or shank can simmer alongside it when you want more pork flavor and gelatin. Pig’s feet bring still more collagen and body, but none of these additions is required. Pork leg makes a leaner pot and needs closer attention; pork loin is a poor fit for this long simmer.

Shoulder can seem stubborn for a while and then soften quickly once its connective tissue starts giving way. That is why the fork matters more than a rigid minute mark.

Do You Need to Brown the Pork?

No. Starting the shoulder in water keeps this broth cleaner; the cooked rojo provides the darker depth later.

Pozole Rojo Troubleshooting

If something feels wrong, identify the symptom before changing the pot. Bitterness, blandness, tough pork and thin broth all need different fixes.

Flavor Problems

Bitter or burnt? Check the chiles first. A chile may have blackened during toasting, the puree may have caught while frying, or bitter soaking water may have gone into the blender.

Caught a badly scorched rojo before it reaches the soup? Remake it. Once a strong burnt flavor has been stirred through the whole pot, it is difficult to remove completely. Mild bitterness may sometimes be softened with unsalted broth and careful seasoning, but severe scorching does not have a magic fix.

Bland? Work out what is actually missing before adding more of everything.

  • Watery overall: simmer uncovered and reduce.
  • The flavors are there but muted: add salt gradually.
  • The chile tastes raw or separate: give the combined pot more gentle simmering time.
  • Rich but dull: finish one bowl with lime before changing the whole pot.
  • Porky but genuinely weak on chile: Make half a batch of the rojo, cook it as in Step 5, then stir it in gradually and taste as you go. Salt and reduction can intensify the chile already present, but they can’t replace what’s missing.

Texture and Consistency Problems

Pork still tough? Keep the gentle simmer and give it another 20–30 minutes. Don’t turn up the heat. Tough shoulder usually needs more time for its connective tissue to soften.

Dried hominy still hard? First make sure the corn really is prepared/nixtamalized hominy. Once that is established, hardness usually means more cooking time. Keep it submerged and continue simmering; some products take substantially longer than others.

Broth too thin? Simmer uncovered to reduce it. When the flavor is already concentrated enough and you only want a little more body, blend ½–1 cup cooked hominy with some broth and stir it back in.

Quick Fixes for Other Problems

ProblemLikely CauseFix
Harsh or mouth-dryingOld chiles, tough skins, over-concentration or too little simmering after the rojo was addedGive it more gentle simmering time; check concentration and salt
Not spicy enoughGuajillo and ancho added flavor rather than much heatAdd a hot árbol or puya salsa, preferably at the table
Too spicyToo much hot chile for the batchAdd unsalted broth and, if practical, more pork or hominy; recheck salt afterward
Brown-red instead of bright redA darker chile blendDo nothing unless the broth also tastes burnt or acrid
Broth too thickToo much reduction or absorptionAdd hot water, unsalted broth or reserved hominy cooking liquid gradually
Greasy surfaceMore rendered pork fat than you wantSkim obvious pools; chilling makes excess fat easy to remove later
Pork dry or stringyLean cut, small pieces, aggressive boiling or overcookingUse shoulder in larger pieces and keep the simmer gentle next time
Canned hominy tastes separateNot enough integration timeSimmer another 15–20 minutes
Canned hominy tastes “canned”Brand or rinsing issueRinse more thoroughly; blanch or roast before adding next time
Dried hominy went mushyCooked beyond your preferred endpointStart tasting sooner next time; kernels can bloom without falling apart

← Back to the Pozole Rojo Recipe

Make Pozole Ahead: Recalentado, Storage and Reheating

There are two useful ways to get ahead. You can make the entire pot in advance and reheat it, or prepare the rojo 1–2 days ahead, refrigerate it separately and cook the pork and hominy on serving day.

Pozole is particularly good at becoming tomorrow’s lunch. Big pots are often made with leftovers in mind, and the reheated meal after a gathering is commonly called the recalentado.

Overnight, the hominy keeps absorbing broth while the pork and chile flavors settle together. The next bowl can taste even more integrated than the first. It will usually need a splash of water or broth because the corn has been drinking while you weren’t looking.

Blue bowl of reheated pozole rojo with pork and hominy, freshly topped with shredded cabbage, sliced radish, chopped white onion, oregano, and lime on a teal table.
Reheat the pozole first, then restore the contrast with fresh cabbage, radish, white onion, Mexican oregano and lime.

For Christmas, parties or a large family meal, handle the garnishes closer to serving. Shred the cabbage, slice the radishes, chop the onion and cut the limes while the pozole reheats.

Cool a Large Pot Safely

Don’t leave a full stockpot sitting at room temperature for hours while the center cools. USDA leftovers guidance recommends dividing large amounts of food into shallow containers so they cool quickly and refrigerating leftovers within 2 hours.

  • Refrigerator: Store cooled pozole in covered containers for up to 3–4 days. Keep fresh garnishes separately.
  • Freezer: Freeze for 3–4 months for best quality, leaving a little room for expansion.
  • Reheating: Heat gently, stirring occasionally, until leftovers reach 165°F / 74°C.

Add water or broth until the reheated pozole has the consistency you want, then taste for salt again.

Set out the fresh garnishes again and the reheated bowl feels like another meal, not simply yesterday’s leftovers.


Corn, chiles, pork and pots don’t all behave exactly alike, which is why the cues matter as much as the clock. If you make the pozole, tell us which chiles and hominy you found, whether you added any bone-rich pork and how your pot behaved.

If the hominy took longer, the shoulder softened sooner or your chile blend came out darker than expected, those details are useful too. They may help the next person cooking from the same kind of corn or bundle of dried chiles.

← Back to the Pozole Rojo Recipe · Back to top ↑

Posted on Leave a comment

Vietnamese Chicken Cabbage Salad Recipe (Gỏi Gà Bắp Cải)

In Gỏi Gà Bắp Cải, a loose, aerated bowl is a useful sign of good texture: cabbage, chicken and rau răm stay visibly separate instead of collapsing into a dense, wet mound.

Finely shredded cabbage, juicy chicken and peppery rau răm get tossed with a lime-bright fish-sauce dressing, then finished with roasted peanuts and crisp fried shallots. Every forkful comes out a little differently: maybe mostly cool cabbage, maybe a soft shred of chicken with rau răm, maybe the lucky bite with a peanut and still-crisp piece of shallot.

Keep the cabbage dry, cook the chicken gently, tame the onion and save the fried shallots for the end. Those small choices keep the salad lively: moist chicken, sharp herbs and cabbage that still has some snap.

A little softening is not a failed salad. The real trouble starts when enough water leaves the cabbage to collect underneath and weaken the dressing.

Dry the cabbage, dress in stages, and add the crunch last.

In This Guide

Recipe · What Is Gỏi Gà? · Chicken · Cabbage · Rau Răm · Dressing · Texture & Watery Salad · Fast Version · Make Ahead · Serving · Storage

Quick Answer: How to Make Gỏi Gà Bắp Cải

Gently poach 450 g / 1 lb chicken, shred it, and combine it with 450 g / 1 lb finely sliced green cabbage, carrot, thin onion and rau răm. Give the chicken some dressing first, then add the vegetables and dress everything gradually.

Resting time controls the cabbage texture, so use the guide below to choose how crisp or softened you want it.

The dressing combines fish sauce, lime, unseasoned rice vinegar or white vinegar, sugar, water, garlic and chile. Keep some back and make the final adjustment after tasting chicken and cabbage together.

For this textureDo this
Very crispDress and serve immediately.
Crisp but seasonedRest 5–10 minutes.
Softer and more marinatedRest longer and expect more moisture to leave the cabbage.
Close-up of Vietnamese chicken cabbage salad showing moist shredded chicken, thin cabbage ribbons, rau răm leaves, roasted peanuts, fried shallots and sliced red chile.
At close range, three textures should still read separately—moist torn chicken, cabbage with a clean edge, and fried shallots that look dry and brittle rather than glossy with dressing.

Make It Now: Vietnamese Chicken Cabbage Salad

Recipe at a Glance

Yield4 light main-course servings or about 6 side servings
Chicken450 g / 1 lb raw boneless chicken
Cabbage450 g / 1 lb green or white cabbage
PrepAbout 25 minutes
CookAbout 20–30 minutes including heating the poaching liquid
Ready inAbout 45–55 minutes when you prep the vegetables while the chicken cooks and cools
Rest5–10 minutes for crisp-but-seasoned cabbage
Chicken endpoint165°F / 74°C at the thickest part
Fast routeCooked chicken + bagged slaw; about 15 minutes active prep

An instant-read thermometer is handy for the chicken, a salad spinner makes drying shredded cabbage much easier, and a mandoline gives very even ribbons. Use the hand guard or a cut-resistant glove if you use one.

Ingredients

Chicken

  • 450 g / 1 lb boneless skinless chicken breast
  • Water, enough to comfortably cover the chicken
  • 1 tsp fine salt
  • 4–5 slices fresh ginger
  • 2 scallions, cut into large pieces or lightly crushed

Cabbage, Herbs and Toppings

  • 450 g / 1 lb green or white cabbage, very finely shredded
  • 100 g / 3½ oz carrot, julienned or finely shredded
  • 75–80 g / about 3 oz red or white onion, very thinly sliced
  • 20 g / about ¾ oz rau răm, leaves and tender stems roughly torn
  • 5 g cilantro leaves, about a small handful, optional
  • 40 g / 1½ oz roasted peanuts, roughly chopped
  • 30 g / about 1 oz fried shallots
  • 1 tbsp extra unseasoned rice vinegar or distilled white vinegar, optional, for the tangier onion treatment

Fish-Sauce Dressing

  • 45 ml / 3 tbsp plain bottled fish sauce
  • 45 ml / 3 tbsp fresh lime juice
  • 15 ml / 1 tbsp unseasoned rice vinegar or distilled white vinegar
  • 25 g / 2 tbsp sugar
  • 30 ml / 2 tbsp water
  • 2 small garlic cloves, finely minced or crushed
  • ½–1 small bird’s-eye chile, very finely sliced, to taste

Use plain fish sauce here, not prepared nước chấm or bottled dipping sauce. Prepared nước chấm is already diluted and seasoned, typically with water, sugar and acid; this recipe balances those separately.

The dressing makes about 150 ml / ⅔ cup. You may not need every drop.

Instructions

1. Gently Poach the Chicken

Put the chicken in a saucepan and add enough water to cover it comfortably. Add the salt, ginger and scallions.

Bring the water just up to a boil, then lower the heat immediately to a very gentle simmer. The liquid should move quietly; the chicken should not be bouncing around the pan.

Chicken breasts gently poaching in clear water with ginger and scallions, with only small bubbles and slight movement around the edge of the pot.
Tiny bubbles gathering at the edge are enough; once the whole surface starts actively bubbling, the poaching liquid is hotter than the chicken needs.

Cover and cook until the thickest part reaches 165°F / 74°C. Once the liquid is hot and gently simmering, medium chicken breasts often need around 12–18 minutes. Thickness matters more than the timer.

Lift the chicken out as soon as it is done. Properly poached breast should pull into moist strands with ragged edges that catch the dressing, not stiff fibres that feel woolly or dry.

2. Cool, Then Shred

Let the chicken cool until it is comfortable to handle, then tear or shred it into bite-size pieces. Keep the shreds loosely covered until they are no longer hot before they meet the cabbage.

3. Wash, Shred and Dry the Cabbage

Remove any tired outer leaves. Shred the cabbage into fine ribbons, ideally about 2–4 mm wide, and julienne or finely shred the carrot.

Green cabbage cut into thin 2–4 mm ribbons beside a smaller pile of thicker cabbage strips, with labels reading “2–4 mm TARGET” and “TOO THICK” and an unbranded chef’s knife.
Use the 2–4 mm pile as a visual ruler: those fine ribbons bend and mingle easily, while noticeably wider strips stay stiffer and take longer to taste fully seasoned.

Rinse the cabbage if needed, then spin it thoroughly dry or spread it over clean kitchen towels. Pick up a handful before you move on: the shreds should feel dry rather than slick with wash water.

4. Soften the Onion’s Raw Edge

Put the sliced onion in ice-cold water for about 10 minutes, then drain and pat it dry. It keeps its crunch while losing some of the raw burn that can overpower the herbs.

For a tangier onion, toss the slices with the 1 tbsp additional vinegar listed above plus 2 tbsp cold water. Leave for 10–15 minutes, turning once or twice, then drain thoroughly.

5. Make the Dressing

Stir together the lime juice, vinegar, sugar and water until the sugar has mostly dissolved. Add the fish sauce, garlic and chile.

Taste it now. Too strong? Don’t fix it yet. A spoonful on its own can seem almost alarmingly salty or fishy and then taste much calmer once it is spread through all that chicken and cabbage.

6. Season the Chicken First

Toss the cooled shredded chicken with 2 tbsp / 30 ml dressing and leave it for 2–3 minutes. A larger shred of chicken can stay surprisingly bland inside even when the cabbage around it is well seasoned.

Thin amber fish-sauce and lime dressing being poured over moist hand-shredded chicken in a dark green bowl before any vegetables are added.
Aim for a light, even sheen on the chicken rather than a puddle of dressing underneath.

7. Toss the Salad

Add the cabbage, carrot and well-drained onion. Pour over about 5 tbsp / 75 ml more dressing and toss thoroughly but gently. Keep the remaining dressing beside you for the final adjustment.

8. Give the Cabbage a Few Minutes

For cabbage that is crisp but no longer tastes completely raw, let the salad stand for 5–10 minutes. Thin green cabbage should still crack lightly between the teeth, then soften as you chew beside the chicken. Prefer a louder crunch? Toss and serve straight away.

9. Add the Herbs and Finish

Fold in the rau răm and cilantro, if using. The salad should smell fresh and peppery before the toppings even go on.

Take one proper bite with chicken, cabbage and herbs together. The chicken should taste seasoned even without a pile of cabbage attached to it. Check the cabbage and the bottom of the bowl too: if the texture feels right and the dressing still tastes bright rather than watered down, you’re there.

Add more dressing 1 tbsp at a time only if it needs it. Scatter over the peanuts and fried shallots and serve.

A hand scattering roasted peanuts and crispy fried shallots over a finished Vietnamese chicken cabbage salad with shredded chicken, cabbage, carrot, herbs and red chile.

Swaps

  • Chicken thighs: Use the same raw weight. They are juicier and more forgiving than breast.
  • Rotisserie chicken: Use 350–400 g / 12–14 oz cooked shredded chicken; jump to the fast 15-minute version.
  • No rau răm: Start with about ½ cup total cilantro and fresh mint, roughly equal parts. Add a few Thai basil leaves if you have them. The flavour will be different, so omit the separate optional cilantro from the main ingredient list when using this fallback.
  • No peanuts: Use extra fried shallots or toasted sunflower or pumpkin seeds.
  • No chile: Leave it out and put sliced chile on the table for anyone who wants heat.
  • Gluten-free: The core salad can be gluten-free; check the labels on fish sauce and packaged fried shallots.

What Is Gỏi Gà Bắp Cải?

Gỏi refers to a broad Vietnamese family of dressed salads; means chicken and bắp cải means cabbage. These salads are commonly called gỏi in southern Vietnamese usage and nộm in northern usage. You may also see this dish written without Vietnamese diacritics as goi ga bap cai.

Fresh herbs and contrasting textures are central to this broad style of salad. Gỏi can be everyday food or sit within a larger shared meal, where something sharp and fresh provides an easy counterpoint to richer dishes.

In English, Gỏi Gà Bắp Cải sometimes gets called Vietnamese chicken slaw or Vietnamese chicken coleslaw because of all that shredded cabbage. The resemblance mostly ends with the shape: unlike classic creamy coleslaw, there is no mayonnaise or oil in this dressing. Fish sauce, lime, vinegar, sugar and herbs give it its character.

This version starts from the crisper end of the spectrum: finely cut green cabbage, plenty of rau răm, chicken seasoned before mixing, and dressing added gradually so everything tastes seasoned without the cabbage sitting in a pool of liquid. Other versions are deliberately softer and more deeply marinated; here, you can simply let the bowl sit longer when that is the texture you prefer.

Choosing and Cooking the Chicken

Chicken breast is the default here because its mild flavour keeps the salad light and lets the herbs and dressing lead. Thigh is richer and more forgiving if juiciness is the priority, and a mixture of the two works well too.

A whole chicken makes particular sense when you also want broth for the rest of the meal. Whichever cut you use, firm and juicy is fine; dry, stringy meat usually means too much heat or too much time.

Already-cooked chicken skips the poaching entirely. Leftover roast works beautifully, and rotisserie chicken can take you straight to the 15-minute version; our juicy baked chicken breast is another way to cook plain chicken ahead for lunches and salads. Breast that has gone too far is not hopeless either: shred it finely and get some dressing directly onto the meat.

Green, Napa, Savoy or Bagged Slaw?

CabbageTextureBest approach
Green / whiteFirmest and crunchiestBest default for this version
Napa / wombokSofter and leafierDress close to serving
Savoy / pointedTender but still structuredSits between Napa and green cabbage
PurpleFirm with strong colourUsually nicest mixed with green
Bagged slawDepends on freshness and cutFastest; adjust any extra carrot

If you’re buying cabbage specifically for this recipe, choose green or white cabbage. It gives the clearest snap and can sit briefly in the dressing without collapsing.

Comparison of green cabbage, Napa cabbage, Savoy cabbage, purple cabbage and bagged slaw, labeled with their texture and use: crisp default, soft and leafy, tender middle, firm and vivid, and fastest.
The leaf structure explains the timing difference: tightly layered green cabbage gives firmer ribbons, while Napa’s thinner, softer leaves relax much sooner once dressed.

Thickness matters almost as much as variety. A mature green cabbage sliced too thickly can make even a good dressing feel as though it is fighting its way through raw leaves. Aim for those 2–4 mm ribbons rather than broad strips.

Want to see what that cabbage looks like after dressing? Compare just-tossed, rested and genuinely watery salad.

Napa is the choice when you deliberately want something softer and leafier; it needs much less persuasion and may be ready after the first toss. A fresh bag of slaw is the speed-first option when chopping cabbage is the last thing you feel like doing—just skip extra carrot when the mix already contains plenty.

Texture gets you halfway there. Rau răm is what makes the bowl smell unmistakably different from an ordinary chicken slaw.

Rau Răm and the Herbs

Often sold as Vietnamese coriander or Vietnamese mint, rau răm (Persicaria odorata) is peppery and aromatic. Despite the confusing English name, it tastes quite different from ordinary mint.

Rau răm, or Vietnamese coriander, shown as a leafy stem with narrow pointed green leaves, reddish-purple stems and dark markings on several leaves; text identifies it as Persicaria odorata.
Look for pointed green leaves on reddish-green stems; many leaves also show darker chestnut markings.

Tear a leaf and smell it before it goes into the salad. That sharp, peppery aroma is one of the things that makes a bowl of chicken and cabbage suddenly feel much more distinctive. Twenty grams gives it a proper presence; use less in the bowl and put the rest on the table if the herb is new to everyone eating.

Cilantro and mint do not recreate rau răm exactly, but together they give the salad freshness and herbiness when the real thing is unavailable.

No rau răm? Make dinner anyway.

Balancing the Fish-Sauce Dressing

The dressing follows the same sweet-sour-salty balancing logic as nước chấm, though here it has a whole pile of cabbage and chicken to season rather than a single dipped bite.

Start with 3 tbsp fish sauce, 3 tbsp lime juice, 1 tbsp vinegar, 2 tbsp sugar and 2 tbsp water, plus garlic and chile. Lime brings fragrance. Distilled white vinegar is sharper; unseasoned rice vinegar is gentler.

Fish sauce brands differ enough that the same three tablespoons can push two dressings in different directions. Judge any correction on the chicken and cabbage rather than trying to make the undiluted dressing taste gentle on its own.

When the balance is right, lime arrives bright and fragrant, rau răm follows with its peppery edge, and the fish sauce makes the chicken taste fuller underneath.

If the Dressing Needs Fixing

ProblemTry this first
Too fishy or intenseDilute with 1 tsp water, taste, then add a small squeeze of lime if needed.
Overly saltyStart with 1–2 tsp water and retaste before adding anything sweet.
Too sourStir in ½ tsp sugar + 1 tsp water, then taste again.
Overly sweetBalance with 1 tsp lime or vinegar; add a few drops of fish sauce only if it also needs more savoury depth.
FlatTry a small squeeze of lime for brightness or a few drops of fish sauce for savouriness.
Far too spicyMake more chile-free dressing and combine the two mixtures.

Make one small correction and taste again before changing anything else.

Once the dressing tastes right, what happens next is mostly about time.

Crisp, Softened or Watery?

Some people want the cabbage almost squeaky-fresh. Others like it after the leaves have relaxed into the dressing and picked up more seasoning. Both can be good.

A small amount of liquid at the bottom is normal. Look again once the salad has been sitting: a real puddle, paired with dressing that now tastes noticeably weaker, means enough water has left the cabbage to change the balance.

Three bowls of Vietnamese chicken cabbage salad labeled “JUST TOSSED,” “5–10 MIN,” and “TOO WATERY”; the first is airy, the second slightly relaxed, and the third has visible liquid pooling around the salad.
The middle bowl is intentionally lower and glossier yet still successful; the failure cue is the third bowl’s visible puddle, not softness by itself.

Why Did My Salad Turn Watery?

  • The cabbage was still wet after washing.
  • Too much dressing went in at once.
  • The salad was dressed long before it was eaten.
  • Tender Napa cabbage sat as long as firm green cabbage.
  • The chicken was still hot.
  • The onion carried extra water into the mixture.

Moderately wet salad can often be rescued with fresh finely shredded cabbage. Toss some through and refresh the herbs. A large puddle may need some draining first; taste afterward because seasoning leaves with the liquid too.

Tough cabbage is a different problem. If the salad is already mixed, give it a few more minutes with the dressing. Next time, slice it finer. A particularly mature head can also be lightly salted, rested and squeezed dry before assembly, though most ordinary cabbage does not need that extra step.

Fast Rotisserie Chicken Version

Half a rotisserie chicken, a bag of slaw and very little enthusiasm for cooking are already most of dinner.

Rotisserie chicken, a clear bag of shredded slaw, a small jug of dressing and a finished bowl of Vietnamese chicken cabbage salad arranged on a dark red table.
Check the slaw bag before you buy it: crisp shreds with no visible pooled moisture give you a longer texture window after dressing.

Allow about 15 minutes of active prep. Use 350–400 g / 12–14 oz shredded cooked chicken and 450–550 g / 1–1¼ lb fresh slaw mix, plus the same fish-sauce dressing, herbs, peanuts and fried shallots.

Season the chicken first, add the slaw and dress gradually. Skip extra carrot when the mix already contains plenty, and go gently with the dressing when the chicken is salty to begin with.

Make Ahead and Lunchbox Gỏi Gà

For crisp cabbage, prepare the components ahead and bring them together closer to eating.

  • 1–2 days ahead: cook and shred the chicken; make the dressing.
  • Earlier the same day: shred the cabbage and carrot; wash and thoroughly dry the herbs.
  • 10–30 minutes before assembly: slice and ice-water-soak the onion, or give it the quick vinegar treatment.
  • Keep separate until serving: dressing, peanuts and fried shallots when maximum crunch matters.

The vinegar-treated onion can be made earlier the same day and refrigerated. The plain ice-water soak is best done closer to assembly.

For a packed lunch, keep the dressing in a small separate container and toss it through when you are ready to eat. Keep the chicken and salad refrigerated, or use an insulated lunch bag with a cold pack until lunchtime.

Extra shredded cabbage and carrot can become the filling for crispy vegetable spring rolls. Cook the filling until its loose moisture has evaporated before wrapping.

What to Serve With Gỏi Gà Bắp Cải

A generous portion makes a fresh, light lunch or dinner, especially when something cool and crisp sounds better than another heavy hot meal. Smaller servings sit easily alongside other Vietnamese dishes.

Gỏi Gà is particularly at home beside cháo gà, or chicken congee. With a whole poached chicken, the broth can become the congee while some of the meat goes into the salad. Chicken rice, or cơm gà, is another natural partner.

Bowl of Vietnamese chicken cabbage salad served beside a steaming bowl of chicken congee on a dark wooden table with chopsticks and a spoon.
Gỏi Gà and cháo gà work through contrast: cool, sharp cabbage and herbs beside warm, soft congee, with one chicken able to supply both the salad meat and the broth.

For a larger table with rice-paper rolls, our peanut sauce for spring rolls gives the rolls something rich and nutty to dip into while the salad stays bright and sharp.

Storage and Leftovers

For the best texture, keep cooked chicken, vegetables and dressing in separate covered containers, with peanuts and fried shallots kept dry until serving. USDA chicken-safety guidance recommends cooking poultry to 165°F / 74°C and using refrigerated cooked chicken within 3–4 days.

With rotisserie chicken, count from when it was originally cooked or purchased rather than restarting the storage clock when it becomes salad.

Dressed leftovers will be softer and usually wetter the following day. If that deeper, more marinated texture appeals to you, they can still be very good. Fresh cabbage and herbs help when the salad has softened farther than you wanted.

Do you prefer your gỏi very crisp, or after it has had a little time to soften into the dressing?

Posted on Leave a comment

Chicken Shawarma Recipe: Juicy, Spiced & Easy to Make at Home

Sliced chicken shawarma with browned, slightly charred edges and juicy interiors, served with garlic sauce, pink pickled turnips and blistered pita.

Great chicken shawarma gives you two things at once: juicy, deeply spiced chicken and dark edges that taste almost fried in their own rendered fat.

Those edges are usually the difficult part at home. The seasoning can be wonderful, yet the chicken comes out pale and soft—or it stays in the oven so long waiting for color that the meat dries out.

This chicken shawarma recipe handles the two jobs separately. Cook the thighs while they are still juicy. Rest them, slice them thinly, then give the newly exposed surfaces one short blast of hard heat.

Most of the work is hands-off. After the chicken is seasoned, the oven handles the first cook and the final browning takes only a few minutes. No homemade rotisserie required.

Cook for juiciness. Finish for the edges.

Quick Answer: How to Make Chicken Shawarma at Home

Coat 2 lb / 900 g boneless, skinless chicken thighs in a concentrated lemon-garlic shawarma marinade and roast at 425°F / 220°C. Start checking the thickest thigh at 18 minutes. Poultry is safe at 165°F / 74°C, while thighs often become more tender as they move toward roughly 170–175°F / 77–79°C. Rest for 5 minutes, slice thinly, then broil or sear briefly until the fresh edges darken.

Thirty to 60 minutes of marinating gives you good surface seasoning; a few hours is useful when you’re planning ahead. No time to wait? Coat the chicken thoroughly and cook it.

Cooked-but-pale chicken is easy to rescue. Dry chicken is not.

The finished chicken should smell garlicky and savory, with cumin up front and warmer cardamom and allspice behind it. Look for juicy pieces, irregular caramelized edges and a few darker tips.

Choose Your Cooking Method

MethodBest for
OvenThe easiest full batch
SkilletStrong stovetop browning
GrillSmoke, flame and direct char
Air fryerSmaller quantities

Make It Now: Chicken Shawarma

The method is simpler in the kitchen than it looks on paper: season the thighs, roast them, rest and slice, then give the edges one quick finish.

Recipe at a Glance

Chicken2 lb / 900 g boneless, skinless chicken thighs
Yield5–6 medium wraps, or about 6 servings with substantial sides
Active prepAbout 15 minutes
Start to servingAbout 45 minutes without a marinating rest; add your chosen marinating time
Marinate30–60 minutes when possible; several hours or overnight is fine
Oven425°F / 220°C
RoastBegin checking at 18 minutes; expect roughly 20–25 minutes
FinishRest 5 minutes, slice, then broil until the edges darken; 1–3 minutes is common

With the chicken in the oven, you have roughly half an hour of dinner-making left. Mix the sauce, warm the bread and get the fillings ready while it cooks.

Before You Start

Use a 13 × 18-inch / 33 × 46 cm broiler-safe rimmed metal sheet pan. Thighs that are dripping wet straight from the package benefit from a light blot before marinating; you’re only removing the obvious excess liquid.

The full 2 lb / 900 g batch should fit in one open layer. If it doesn’t, use a second pan. Tight packing makes it much harder for moisture to escape.

Equipment

  • Large mixing bowl or food-safe container
  • Broiler-safe rimmed metal sheet pan
  • Tongs
  • Sharp knife and cutting board
  • Instant-read thermometer
  • Heavy skillet, optional

Ingredients

For the Chicken

  • 2 lb / 900 g boneless, skinless chicken thighs
  • 3 tablespoons / 45 ml olive oil
  • 2 tablespoons / 30 ml fresh lemon juice
  • 4 large garlic cloves, finely grated or crushed
  • 2 teaspoons ground cumin
  • 2 teaspoons ground coriander
  • 2 teaspoons sweet paprika
  • 1 teaspoon ground turmeric
  • 1 teaspoon ground black pepper
  • 1 teaspoon ground allspice
  • ½ teaspoon ground cardamom
  • ¼ teaspoon ground cinnamon
  • ¼–½ teaspoon cayenne pepper, depending on the heat you want
  • 10 g fine salt, about 1⅔ teaspoons if using fine table salt

About the salt: coarse and kosher salts vary considerably by volume, so 10 g is the more dependable measurement.

Three portions of fine, medium and coarse salt, each weighing 10 grams but occupying different amounts of space.
Ten grams stays ten grams even when different crystal sizes fill the spoon differently. Weight is the reliable anchor.

Sweet or regular paprika works best here. Too much smoked paprika starts pulling the chicken toward barbecue territory.

Trim large loose pieces of thigh fat, but leave the smaller seams attached. They help the meat stay moist and become especially good around the browned edges.

Quick Garlic Yogurt Sauce

  • 1 cup / 240 g thick Greek yogurt
  • 1 small garlic clove, very finely grated
  • 1 tablespoon / 15 ml fresh lemon juice
  • 1 tablespoon / 15 ml olive oil
  • ½ teaspoon fine salt, or to taste
  • 1–2 tablespoons / 15–30 ml cold water, as needed

For the Wraps

  • 5–6 medium flatbreads or pitas; homemade pita bread is another option
  • About 1 cup garlic yogurt sauce or toum
  • ½–1 cup sliced sour cucumber pickles or pickled turnips
  • Fries, optional
  • Chili sauce or shatta, optional
  • Lettuce, tomato, cucumber and thinly sliced onion, optional for a fresher wrap

How to Make Chicken Shawarma

1. Mix, Coat and Marinate

Combine the olive oil, lemon juice and garlic in a large bowl. Stir in the cumin, coriander, paprika, turmeric, black pepper, allspice, cardamom, cinnamon, cayenne and salt.

Add the thighs and turn them until the spices coat every side. The surface should look glossy and well seasoned, with very little loose liquid underneath.

Three marinated chicken thigh examples labeled runny, too heavy and right, showing loose liquid, thick paste and a thin clingy spice coating.
The useful target is a glossy coating on the chicken, not marinade pooling underneath it.

Cover and refrigerate for 30–60 minutes, a few hours or overnight. There isn’t much to gain by pushing this lemon-based marinade past about 24 hours. If dinner needs to happen now, continue straight to cooking.

2. Heat the Oven and Arrange the Chicken

Heat the oven to 425°F / 220°C with a rack in the middle.

Lift the thighs from the bowl, let the obvious excess marinade drip back and arrange the pieces in a single open layer.

Two sheet pans of marinated chicken thighs showing a crowded arrangement and a properly spaced arrangement on a 13 by 18 inch pan.
If you cannot see metal between the thighs, use a second pan. Extra oven time cannot replace evaporation space.

A bare metal pan gives the most direct heat. Parchment is fine for easier cleanup during roasting, but remove it before broiling. Keep silicone and other non-broiler-safe liners away from intense overhead heat.

3. Roast the Chicken and Make the Sauce

Begin checking the thickest thighs at 18 minutes. Depending on their size and your oven, expect roughly 20–25 minutes.

Check the thickest part of the largest piece with an instant-read thermometer. Poultry is safe at 165°F / 74°C. Thighs often become more tender as they move into roughly the 170–175°F / 77–79°C range, so a few degrees beyond the safety minimum aren’t a problem.

Instant-read thermometer inserted into the thickest part of a lightly browned cooked chicken thigh on a sheet pan, reading 170 degrees Fahrenheit.
Color answers a surface question; the thermometer answers the center. Don’t keep cooking juicy chicken just to chase browning.

When the thighs are safely cooked and tender, get them out of the oven. A pale surface isn’t a reason to keep the center cooking—the color gets another chance in a few minutes.

Meanwhile, mix the yogurt, garlic, lemon juice, olive oil and salt. Add cold water a tablespoon at a time until the sauce is creamy and easy to spoon, then refrigerate until serving.

4. Rest, Check the Pan and Slice

Move the thighs to a cutting board and rest for 5 minutes. Switch the oven to the broiler, or overhead grill.

Take a look at the pan while the chicken rests. A thin glossy film of rendered fat and concentrated juices is useful. An obvious pool of watery liquid is different; carefully spoon or pour that off before the chicken goes back.

Two sheet pans comparing glossy amber rendered fat and concentrated juices with a paler watery pool around cooked chicken thighs.
Tilt the tray: concentrated fat and juices move with a glossy, heavier sheen; excess cooking water runs thin and fast.

Slice into strips about ¼ inch / 6 mm thick. They don’t need to match perfectly.

Cooked chicken thigh being sliced into roughly quarter-inch pieces, showing moist freshly cut surfaces and a 6 millimeter thickness marker.
About ¼ inch / 6 mm keeps a juicy bite while exposing plenty of surface for browning.

5. Brown the Fresh Edges and Taste

Spread the slices across the pan instead of leaving them in a mound. Place the pan about 6 inches / 15 cm below the broiler; move it down one rack if your top position sits much closer.

Sliced chicken spread in one layer on a sheet pan positioned about 6 inches below the glowing broiler element in an oven.
Six inches / 15 cm is a starting point, not a promise. Watch the edges, not just the clock.

Start checking after about 1 minute. A 1–3 minute finish is common, but let the chicken decide: stop when some edges curl and darken while the thicker pieces still look juicy.

Extreme close-up of chicken shawarma showing a dark curled browned edge, caramelized spice crust and moist cooked interior.

Listen as well as look. Once the sliced chicken starts sizzling sharply instead of sitting quietly in moisture, you’re finally working on the edges.

A hot heavy skillet can do the same job. Work in batches for about 60–90 seconds so the pan stays hot.

Taste a piece before building the wraps. It should be well seasoned enough to hold its own next to bread and sauce. Flat? Toss the hot chicken with a small pinch of fine salt and taste again.

6. Warm the Bread and Set Out the Fillings

Warm the pita or flatbread until soft and flexible. Set out the cold sauce, pickles and whatever fries, chili sauce or fresh vegetables you’re using.

7. Build the Wrap

Spread sauce over the bread, add a line of hot chicken and follow with pickles plus any fries or vegetables you want. Roll firmly.

Set the wrap seam-side down in a dry skillet for 30–60 seconds. Turn it briefly if you want a little crispness on the second side too.

Hot chicken, cool garlic sauce, soft bread and a sharp pickle all bring something different to the same bite.

Cut chicken shawarma wrap filled mainly with browned chicken thigh slices, garlic sauce, pink pickles and a small amount of fries in thin flatbread.
Chicken should dominate the wrap; sauce and pickles sharpen it rather than bury it.

Recipe Notes

  • Doubling the recipe? Use two half-sheet pans so the chicken still has room around it.
  • Freezer prep: fresh chicken can be frozen promptly in the marinade and thawed overnight in the refrigerator before cooking.
  • Raw-chicken marinade: don’t use marinade that has touched raw poultry as a ready-to-eat sauce.

Want the why behind the method? Continue to the Chicken Shawarma Guide → · ↑ Back to top


Chicken Shawarma Guide

If dinner is already underway, everything you need is above. The rest explains why the method works and what to do when the chicken in front of you isn’t behaving quite as expected.

What Is Chicken Shawarma?

Chicken shawarma is a Middle Eastern preparation in which seasoned meat traditionally cooks on a vertical rotating spit. The exposed surface darkens and sizzles first. That browned layer is shaved away for serving, revealing another juicy surface to the heat.

A tray of chicken gets one exterior; a shawarma stack keeps creating new ones. That repeated cycle helps explain how freshly shaved shawarma can have so many browned edges while the meat underneath remains juicy.

A sheet pan can’t duplicate a vertical rotisserie, but the same idea gives us a useful home method. Keep the thighs in larger pieces for the first cook, then slice them to expose fresh surfaces that can brown quickly.

Cooked boneless chicken thighs progressing from whole pieces to slicing, freshly exposed cut surfaces and browned shawarma slices.
Slicing after the first cook creates fresh surfaces that can brown quickly without overcooking the whole thigh.

Chicken Shawarma Marinade: Get the Coating Right

A good chicken shawarma marinade combines oil, lemon, garlic and warm spices in a concentrated coating that clings to the meat without leaving it swimming in liquid.

The spices get most of the attention, but the wet ingredients decide whether they cling to the chicken or collect in the pan.

Coat Rather Than Soak

Marinade running freely off the thighs? Leave the loose excess in the bowl. Thick ridges sitting on the meat need smoothing away. What you’re after is a glossy, clingy coating.

Do You Need Yogurt?

No. Plenty of excellent shawarma recipes use yogurt, but you don’t need it here. Yogurt changes the tang, tenderness, spice adhesion and surface moisture; the lighter oil-and-lemon coating keeps this home method straightforward and the later browning easier to manage.

How Long Should It Marinate?

TimeWhat to expect
No restLess developed seasoning, but completely workable
30–60 minutesGood surface seasoning
2–3 hoursA useful longer rest when you’re planning ahead
8–12 hoursA convenient make-ahead window
OvernightCompletely practical
Beyond about 24 hoursNot much to gain with this marinade

That roughly 24-hour recommendation is about how this marinade behaves. For the wider safety limit, the USDA says poultry can marinate in the refrigerator for up to two days.

Ready to cook? Go to Step 2: Heat the Oven and Arrange the Chicken →

Thighs or Breast?

Chicken thighs are the easier route to juicy shawarma because their extra fat gives you more room around high heat. Breast works too, but it needs a lighter touch.

Cooked sliced chicken thigh beside sliced chicken breast, with the thigh darker and more irregular and the breast paler and more uniform.
ThighsBreast
JuicinessStays moist more easilyLeaner
Best shapeLarger boneless piecesThin cutlets
DonenessWider doneness windowMore sensitive to extra cooking
High-heat finishHandles it wellKeep it short
ReheatingHolds up betterEasier to dry

For breast, slice thick pieces horizontally into cutlets about ½ inch / 1.25 cm thick. Once it’s done, get it out of the heat. Rest, slice and keep the final browning stage short.

If breast is what you cook most often, this baked chicken breast method has more detail on thickness and doneness.

What Gives Shawarma Its Flavor?

Cumin and coriander form the savory backbone; paprika and turmeric bring warm color and earthiness, while garlic and black pepper sharpen the base. Cardamom, allspice and a little cinnamon sit behind them with sweeter aromatic notes.

As the cumin and garlic hit the heat, the cardamom and allspice should rise behind them without taking over. Freshly ground cardamom can be far stronger than an older jar, so restraint helps.

Cayenne controls the heat. Keep it low or leave it out for a mild batch, then put chili sauce on the table for anyone who wants more.

Missing one accent spice? Make dinner anyway. Cardamom or allspice can sit this one out; the aroma will simply be a little less complex. Curry powder or five-spice changes the character much more dramatically.

Measured bowls of cumin, coriander, paprika, turmeric, black pepper, allspice, cardamom, cinnamon and cayenne grouped by their role in shawarma seasoning.
The small measures matter: cardamom and cinnamon can shift the aroma even beside much more cumin and coriander.

The spices create the aroma; heat changes what happens on the surface. This is where moisture starts to matter.

How to Get Dark Edges Without Dry Chicken

The surface has to lose enough moisture before meaningful browning can begin. Excess package liquid, loose marinade and too much chicken on too little hot metal all slow that process.

Sliced chicken shawarma sizzling on a dark hot pan with bubbling fat, steam, glossy surfaces and edges beginning to brown.
A sharper sizzle means enough surface water has left for browning to start in earnest.

The center keeps cooking in the meantime. Leave whole thighs in the oven indefinitely and you can eventually get the color you wanted on meat that’s no longer as juicy as it should be.

That’s why the sliced finish matters. After the chicken is cooked, all those thin fresh surfaces can brown quickly under the broiler or against a hot skillet.

Some of the best pieces will have one dark, curled edge and a softer juicy side. Uniform color isn’t the goal.

The Shawarma Edge Test

Four clusters of chicken on one dark pan showing pale and wet, cooked and pale, juicy with dark edges, and dark dry stages.
What you seeWhat it meansYour move
Pale + wetMoisture is winningCook the center safely, then fix the surface separately
Cooked + paleThe meat is ready before the colorRest, slice and finish at high heat
Juicy + irregular dark edgesYou are thereStop cooking
Dark all over + dryThe finishing stage went too longShorten it next time

Chicken already wet, pale or dry? Go straight to troubleshooting →

Skillet, Grill or Air Fryer?

For a full batch, the oven method above is the easiest choice. Smaller amounts open the door to other kinds of heat.

Chicken shawarma cooking in a sheet pan, skillet, grill and air-fryer basket in one professional kitchen setup.
Whatever the method, overcrowding turns browning heat into steam.

Skillet: heat a heavy pan over medium-high heat and work in batches if the thighs can’t sit comfortably. Leave the first side undisturbed for about 4–6 minutes, then turn and cook another 3–5 minutes or so while checking the thickest piece. Increase the heat a little if the chicken isn’t browning; back it off if the spice coating is darkening too quickly. Rest and slice before a short re-sear if you want more browned edges.

Grill: use medium-high direct heat and start around 4–6 minutes per side. Check the thickest piece as you go. After resting and slicing, a brief return to a hotter part of the grill can deepen the char.

Air fryer: cook at about 390°F / 200°C and begin checking around 12–14 minutes. Most basket machines need two batches for 900 g / 2 lb. Especially thick thighs may take longer; these air-fryer chicken thigh timings can help.

Know When the Chicken Is Done

The USDA lists 165°F / 74°C as the safe minimum for poultry. That’s especially useful to remember with breast, which is leaner and dries more readily once it’s done.

Thighs give you a wider doneness window. Their connective tissue continues softening as the temperature rises, so meat in roughly the 170–175°F / 77–79°C range can still be juicy and noticeably tender. When the thighs are where you want them, take them off the heat.

Boneless cooked chicken thigh with a thermometer in its thickest section beside text showing 165 degrees Fahrenheit as the safe minimum and 170 to 175 degrees as a common tender thigh range.
165°F / 74°C is the safety floor; the higher thigh range is about texture, not a second safety threshold.

Sauce, Wraps & What to Serve With Shawarma

When the chicken is right, the rest of dinner is mostly about contrast: something garlicky or nutty, bread, something sharp, and enough fresh or starchy sides to make the meal as simple or generous as you want it.

Which Sauce Belongs Here?

For a Lebanese-style chicken shawarma wrap, toum is the garlic sauce to know: garlic, neutral oil, acid and salt emulsified until pale and fluffy.

The garlic yogurt sauce in this recipe is the easier home option. It’s cool, tangy and takes about a minute to mix, but it has a different character from toum.

Tahini brings a nuttier sesame flavor and works particularly well when shawarma is served as a platter with salad, pita and pickles.

Three dark bowls containing fluffy white toum, thick smooth garlic yogurt and flowing beige tahini sauce.

What Goes in a Shawarma Wrap?

Fillings vary by region and from one shop to another. A common Lebanese-style direction is chicken, toum and sharp cucumber pickles or pickled turnips in thin bread, with fries tucked inside or served alongside.

For a fresher home version, use the garlic yogurt sauce with lettuce, tomato, cucumber and thinly sliced onion.

Whichever direction you take, keep the bread soft and flexible. If it starts cracking as you roll, heat it again before adding more filling.

Wrap, Platter or Rice Bowl?

Pita, hummus, rice, crisp cucumber or herb salads, sharp pickles and fries all work naturally with chicken shawarma. You don’t need all of them on the same table.

For a simple wrap night, chicken, bread, garlic sauce and pickles are enough.

For a platter, add creamy hummus, extra pita and something crisp or lemony. Pickles or salad keep the richer parts of the plate from becoming heavy.

For a rice bowl, spoon the shawarma over hot rice and add cucumber, tomato, pickles and garlic or tahini sauce. Making basmati too? This stovetop rice method covers the water ratios and doneness cues.

Three chicken shawarma meals on one table: a filled wrap, a platter with hummus and pita, and a rice bowl with vegetables and sauce.

Ready to assemble? Jump to Build the Wrap →

Chicken Shawarma Troubleshooting

Most shawarma problems are recoverable, especially while the chicken is still juicy. Start with what you can see or taste right now.

Wet, Watery or Pale

The chicken is gray and wet: excess surface moisture, crowding or insufficient heat may be pushing it toward steaming. Finish cooking the center, then rest and slice before using the broiler or a hot skillet for color.

The tray keeps filling with liquid even though it isn’t crowded: some chicken simply releases more retained moisture than other batches. When the meat is cooked, remove the watery excess and finish the slices separately. There’s no benefit in leaving the center in the oven until every drop has evaporated.

Cooked chicken thighs on a sheet pan with watery liquid being removed by a spoon and sliced pieces spread on a drier area of the same pan.
Once the center is cooked, remove watery excess instead of waiting for it to evaporate around already-done chicken.

It’s cooked but still pale: rest it, slice it and give the fresh edges a short high-heat finish. This is the easiest browning problem to solve.

Burning or Drying Out

The spices are scorching: the coating may be too thick or the pan may be sitting too close to the broiler. Move it down a rack or stop the finishing stage. The chicken is already cooked.

The meat is dry: skip further broiling. Slice it fairly thin and be generous with garlic sauce; hummus or tahini can help on a platter too. Next time, start checking the center sooner and save the serious browning for after slicing.

The texture is strangely soft or mealy: overcooking can contribute, as can a long soak in an aggressive acidic marinade. Stop adding heat and serve this batch with sauce, bread and something crisp or pickled.

The Flavor Is Off

It tastes flat: check the salt before adding more spice. Sprinkle a small pinch of fine salt over the hot sliced chicken, toss and taste again. If the meat itself tastes balanced, make sure the finished bite also includes browned edges, sauce and something sharp.

Cardamom is taking over: bread, sauce and vegetables can soften an over-strong cardamom note in this meal. Use less cardamom next time; piling on extra cumin or lemon usually creates a different imbalance.

Everything tastes too sour: taste the chicken by itself first. Lemon in the marinade, lemon in the sauce and sharp pickles can stack up quickly. For this meal, skip extra lemon and go easier on the pickles. If the chicken alone is aggressively sour, shorten the marinating time next time.

Wrap Problems

Two chicken shawarma wraps showing a damp sagging wrap labeled soggy and a second wrap with visible cracks in the flatbread.
Keep watery juices out of the bread and warm flatbread only when the fillings are ready.

The wrap is soggy: keep watery pan juices out of the bread, let the chicken rest before assembly and don’t flood the wrap with sauce. A soft but intact wrap can often be improved with a short turn in a dry skillet.

The bread cracks: warm it until flexible. If it has already split badly, rebuilding the wrap in fresh bread is usually easier than trying to patch it.

If the chicken is juicy, hot and well seasoned, dinner is still in very good shape. Garlic sauce, bread and pickles are forgiving company.

Need the method again? Return to the full recipe → · ↑ Back to top

Make Ahead, Freeze, Store & Reheat

Freeze & Store Chicken Shawarma

The easiest freezer prep is raw chicken already coated in its marinade. Pack it into a freezer-safe bag, flatten it into an even layer, remove excess air and freeze promptly. Thaw overnight in the refrigerator before cooking.

Raw marinated boneless chicken thighs spread in a single flat layer inside a sealed transparent freezer bag on a metal freezer shelf.
A flat freezer bag freezes, thaws and stacks more efficiently than a thick bundled package.

Cooked shawarma freezes too. The browned edges will soften after thawing, so warm the center gently and give the chicken a short turn in a hot skillet before serving. For best quality, use frozen cooked shawarma within about 4 months.

Refrigerate leftovers within 2 hours, or within 1 hour when the temperature is above 90°F / 32°C. Shallow covered containers help food cool quickly. Use refrigerated cooked chicken within 3–4 days.

Cold shawarma works in a pita or salad too. For meal-prep bowls, keep the hot and cold components separate: chicken and rice together; salad, pickles and sauce in their own containers. A cold tabbouleh works particularly well beside reheated chicken.

How to Reheat Chicken Shawarma

To reheat in a skillet, add 1–2 teaspoons of water and cover briefly so the center warms gently. Uncover and toss for another 30–60 seconds to remove the extra moisture and bring back a little edge texture. Reheat leftovers thoroughly to 165°F / 74°C.

Leftover sliced chicken shawarma steaming in a dark skillet as a metal lid is lifted, with a teaspoon measure beside the pan.
Cover briefly to warm the center; uncover to drive off moisture and restore some edge texture.

Something cold and crisp helps leftovers feel like a proper meal again. This cucumber salad with vinegar and dill gives the warm spices a sharp counterpoint.

Cooking fresh today? Jump to the full recipe →

Scaling Chicken Shawarma for a Crowd

The ingredients scale. The pan does not.

For 4 lb / 1.8 kg chicken, use two half-sheet pans or cook in batches. Give the thighs roughly the same breathing room they had in the original batch.

Two large rimmed sheet pans holding a doubled batch of raw marinated chicken thighs spaced apart in single layers.
Double the chicken and you must also double the hot, exposed pan area available for browning.

Allow about 5–6 oz / 140–170 g raw chicken per person when pita, hummus, rice and salad are substantial parts of the meal. For generously filled wraps or meat-heavy plates, 7–8 oz / 200–225 g is a more comfortable allowance.

For a group, put the bread, pickles, sauces and vegetables on the table and let people build their own while the chicken is hot. It’s easier than making a dozen wraps in advance.

If the meal is growing into a larger spread, homemade falafel fits naturally because the pita, hummus, sauces and pickles are already on the table.

Need the original quantities? Back to the ingredient list →


When Shawarma Night Comes Together

There is a point when the chicken is sliced, the pan is full of uneven dark edges, the garlic sauce is cold and somebody has already torn into the warm bread before you finish setting the table.

Dinner table with a pan of glossy browned chicken shawarma, torn pita, garlic sauce and pink pickles while several hands reach for bread and food.

That’s the dinner we’re after.

Season the chicken well. Give it enough room. Pull it while the center is juicy, then let the sliced edges take the heat.

Cook for juiciness. Finish for the edges.

Posted on Leave a comment

Lentil Shepherd’s Pie Recipe: Rich, Savory & Easy Vegetarian Dinner

Serving spoon lifting lentil shepherd’s pie from a dark rectangular casserole, showing browned mashed potato ridges over glossy brown lentils, carrots and peas.

Push a serving spoon through the browned potato ridges and you get creamy mash first, then glossy lentils and tender vegetables underneath. The gravy stays with the filling instead of running across the plate, and those rough potato peaks give you a few browned edges among all the softness.

The important part happens before the pie reaches the oven: get the lentils tender first, then reduce their cooking liquid into gravy. Trying to finish both jobs at once is how you end up choosing between hard lentils and a filling too loose to hold the potatoes.

Then there is the topping. Too much water or milk and the mash sinks into the filling. Here it stays creamy, with enough body to spread cleanly and brown on top.

Mushrooms and wine are optional, and the recipe also works with canned lentils, frozen chopped vegetables or leftover mashed potatoes. With browned vegetables, savory gravy and a generous potato layer, the lentils make a substantial main course on their own.

Quick Answer

For lentil shepherd’s pie, cook brown or green lentils until tender, reduce the filling until a spatula trail stays open briefly, top with creamy mashed potatoes, then bake at 400°F / 200°C / 180°C fan for 20–25 minutes and rest for at least 10 minutes.

Let the finished filling sit for about 10 minutes before topping it. Spread the potato right to the edges, rough up the surface with a fork, and broil or grill for 1–3 minutes at the end if the ridges need more color.

You may also see this meat-free potato-topped pie called lentil cottage pie. In current usage, shepherd’s pie usually refers to a lamb filling and cottage pie to beef; meat-free versions are commonly described with either name.

Start With Dry or Cooked Lentils?

Starting with dry lentils is straightforward rather than fast. Much of the extra time is simmering, baking and resting rather than hands-on work. Already-cooked lentils remove the longest stage.

Decision guide comparing dry lentils, cooked or canned lentils, and a shortcut with canned lentils, frozen onion-carrot-celery and leftover mashed potatoes; red lentils need a different formula.
The route changes the water balance as much as the timing. Because cooked or canned lentils are already hydrated, copying the dry-lentil broth amount is one of the easiest ways to make the filling watery.

From Scratch: Dry Lentils

  • Use brown or regular green lentils.
  • No soaking is required.
  • Rinse and check for grit or small stones.
  • Cook the lentils before reducing the gravy.
  • Allow roughly 90–105 minutes elapsed, including baking and resting.

Faster: Cooked Lentils

  • Use cooked brown or green lentils.
  • Drain and rinse canned lentils well.
  • Use much less broth.
  • The filling only needs to heat, season and reduce.
  • Allow roughly 70–85 minutes elapsed, including baking and resting.

For the quickest practical version, use canned lentils with about 16 oz / 450 g frozen diced onion-carrot-celery mix and warmed leftover mashed potatoes. Cook the frozen vegetables until their obvious freezer moisture has evaporated before continuing. If you’re starting with leftover mash, about 5 cups is a useful target; loosen it only enough to spread.

Red lentils need a different formula. They soften and break down much more readily than brown or green lentils, so they are not a direct substitute in the method below.

Still choosing between bags? Compare the lentil options.

Lentil Shepherd’s Pie Recipe

Makes 6 generous or 8 moderate servings. Use a 9×13-inch / 23×33-cm baking dish with about 3–3½ qt / 2.8–3.3 L capacity, or a deep 12-inch / 30-cm oven-safe skillet of similar capacity.

Whole rectangular lentil shepherd’s pie with golden fork-ridged mashed potato topping and lentil filling visible around the bubbling edges.
Uneven fork ridges give you browned peaks and creamier valleys.

Doubling the recipe? Use two normal-depth dishes rather than one very deep casserole so the centers heat through and the tops brown more evenly.

Recipe at a Glance

Serves6 generous or 8 moderate portions
Pan9×13 in / 23×33 cm; about 3–3½ qt / 2.8–3.3 L
Active workRoughly 35–45 minutes
Typical elapsed time — dry lentilsAbout 1 hour 40 minutes (typically 90–105 minutes)
Typical elapsed time — cooked lentilsTypically 70–85 minutes
Oven400°F / 200°C / 180°C fan
Bake20–25 minutes
Rest10 minutes; closer to 20 for neater portions
Ready whenGravy bubbles around the edges and the potato ridges are browned

The potato and filling stages overlap. Start the potatoes after the vegetables soften, then let them simmer while you finish and cook the lentil filling.

Equipment

  • 12-inch / 30-cm wide skillet, sauté pan or Dutch oven
  • Large saucepan
  • 9×13-inch / 23×33-cm baking dish if needed
  • Colander
  • Potato masher or ricer
  • Wide spatula or spoon
  • Rimmed sheet pan if the casserole dish is close to full

A wide filling pan makes the final reduction easier because water escapes faster across a broad surface.

Lentil Filling

Ingredient guide grouping onion, carrots, celery and garlic; lentils and broth; savory seasonings; peas and vinegar; potato topping ingredients; and optional mushrooms, wine and paprika.
Vegetables, tomato paste, savory seasonings and a final touch of acidity build the filling in layers, so mushrooms and wine can stay optional.
  • 2 tablespoons olive oil — 30 ml
  • 1 large onion, finely diced — about 7 oz / 200 g
  • 2 medium carrots, finely diced — about 6 oz / 170 g
  • 2 celery stalks, finely diced — about 4 oz / 115 g
  • 4 garlic cloves, minced
  • 2 tablespoons tomato paste — about 1 oz / 30 g
  • 1 teaspoon dried thyme
  • ¼ teaspoon dried rosemary
  • 1 bay leaf
  • 1 cup dry brown or regular green lentils — about 7 oz / 200 g, rinsed
  • Low-sodium vegetable broth: 2½ cups / 600 ml for the no-wine route, or 2 cups / 480 ml if using wine, plus up to ½ cup / 120 ml extra as needed while the dry lentils cook
  • 1 tablespoon vegetarian Worcestershire sauce
  • 1 teaspoon soy sauce or tamari
  • ¾ teaspoon fine salt, divided — ¼ teaspoon with the vegetables, up to ½ teaspoon to finish
  • 1 cup frozen peas — about 5 oz / 140 g
  • 1–2 teaspoons balsamic or red wine vinegar, as needed
  • Freshly ground black pepper

No vegetarian Worcestershire? Use 2 teaspoons soy sauce or tamari plus 1 teaspoon balsamic vinegar, and omit the separate teaspoon of soy sauce. Taste before adding more vinegar later.

Mashed Potato Topping

  • 3 lb / about 1.35 kg potatoes, weighed before peeling, peeled and cut into even chunks
  • 6 tablespoons butter — about 3 oz / 85 g
  • ½ cup warm milk — 4 fl oz / 120 ml, plus up to another ¼ cup / 60 ml if needed
  • 1¼ teaspoons fine salt, plus salt for the cooking water and more if needed
  • Freshly ground black pepper
  • ½ cup finely grated vegetarian sharp cheddar or another vegetarian hard cheese — about 2 oz / 55 g, optional
  • 1 tablespoon melted butter or olive oil, optional, for the top

Three pounds of potatoes gives a 9×13-inch pie a generous top layer. Yukon Golds or other yellow, all-purpose mashing potatoes make a creamy topping; russets or other floury, starchy potatoes make it fluffier.

If Your Lentils Are Already Cooked

Use about 2½ cups / 500 g drained cooked brown or green lentils. That is usually around two 14–15 oz / 400–425 g cans, depending on brand and drained weight.

Drain and rinse them, then leave them in the colander for a few minutes while you cook the vegetables. Shake off obvious rinse water before measuring. For this route, use 1¼ cups / 300 ml low-sodium vegetable broth.

Optional Flavor Additions

  • 8 oz / 225 g mushrooms, finely chopped
  • ½ cup / 120 ml dry red wine
  • ½ teaspoon smoked paprika

None is essential.

1. Cook the Vegetables

Heat the olive oil in a large wide skillet, sauté pan or Dutch oven over medium heat.

Using mushrooms? Cook them first for about 6–8 minutes, until their released liquid has evaporated and some edges have browned. Transfer them to a bowl.

Add the onion, carrot and celery with ¼ teaspoon filling salt. Cook for 8–10 minutes, stirring occasionally, until the onion is translucent, the carrots are beginning to soften and a few edges have browned.

If the pan still looks pale and wet, give it another minute or two.

Skillet of softened onion, carrot and celery with translucent onion and a few browned edges, ready for the tomato paste.
Cook off visible moisture first; otherwise the tomato paste meets steam instead of a hot surface and takes longer to concentrate.

2. Start the Potatoes

Put the potato chunks in a large saucepan and cover with cold water by about an inch.

Salt the water generously, bring to a boil, then reduce to a steady simmer. Cook until a knife passes easily through the center, usually 15–20 minutes depending on chunk size.

3. Darken the Tomato Paste

Add the garlic to the vegetables and cook for about 30 seconds.

Stir in the tomato paste, thyme and rosemary. Add smoked paprika now if using. Cook for 2–3 minutes, until the paste darkens from bright red toward rust-red and begins clinging to the pan.

Three-stage skillet guide showing 30 g tomato paste bright red when added to softened vegetables, darkening as it cooks, then becoming rust-red and clinging to the pan.
Aim for rust-red and clingy, not blackened or scorched.

Using wine? Add ½ cup / 120 ml and simmer for another 2–3 minutes, scraping the pan, until noticeably reduced. Use 2 cups / 480 ml broth with the lentils in the next step. Keep up to ½ cup / 120 ml extra broth nearby in case they need it.

4. Cook the Lentils

Using already-cooked lentils? Skip the covered simmer below. Add 500 g cooked lentils, the bay leaf and 1¼ cups / 300 ml broth, simmer uncovered for 8–10 minutes, then go straight to Step 5.

For dry lentils, stir in the rinsed lentils and bay leaf. Add 2½ cups / 600 ml broth, or 2 cups / 480 ml if you used wine.

Liquid guide showing 600 ml broth for dry lentils, 480 ml broth plus 120 ml wine for the wine route, and 300 ml broth for cooked or canned lentils.
Wine counts toward the liquid total, while cooked lentils need far less broth because they are already hydrated.

Bring to a simmer, reduce the heat to a gentle steady bubble, cover and cook for 25 minutes.

With the lentils simmering and the potatoes already cooking, most of the active work is behind you.

Then bite into a lentil. Many brown lentils will be ready around 25–35 minutes; regular green, Puy or older lentils may take longer. Continue in 5-minute intervals until there is no chalky resistance in the center.

If the pan dries out first, add extra broth ¼ cup / 60 ml at a time, cover and keep cooking.

The lentil itself gets the final vote. The clock only tells you when to start checking.

Macro comparison of brown lentils showing an underdone chalky center, tender lentils holding their shape, and overcooked lentils becoming soft and mushy.
If the center is still chalky, keep cooking before you start reducing the gravy.

5. Finish the Gravy

Remove the bay leaf. Stir in the Worcestershire sauce, soy sauce or tamari and any browned mushrooms.

Simmer uncovered until the loose liquid begins turning into glossy gravy.

Drag a wide spatula through the center:

  • Liquid immediately runs back in: keep reducing.
  • A trail that stays open for a moment, then slowly closes: nearly ready.
  • If the trail stays open and the filling barely moves: add broth 1–2 tablespoons / 15–30 ml at a time.
Three-pan consistency guide: watery lentil filling closes a spatula trail immediately, correct filling slowly closes the trail, and overly dry filling leaves a wide trail open.
Use the spatula trail only after the lentils are tender: it measures gravy reduction, not lentil doneness.

When the filling is slightly looser than you want it to finish, stir in the peas and cook for another 2–3 minutes.

Check once more with the spatula. The lentils should look coated in gravy, and a spoonful should slump rather than pour.

Still loose after several minutes? Mix 1 teaspoon cornstarch with 1 tablespoon / 15 ml cold water, stir it in and simmer for another minute.

Do not top a watery filling. The oven should finish a good gravy, not rescue lentil soup.

6. Mash the Potatoes

Drain the potatoes well and return them to the hot empty saucepan.

Leave them over very low heat, or simply in the residual heat of the pan, for 1–2 minutes. This lets excess water escape before the butter and milk go in.

Add the butter and mash, or use a ricer. Add the first ½ cup / 120 ml warm milk, then use more only if the potatoes need it.

Season with the 1¼ teaspoons fine salt and black pepper, then taste and add more salt only if needed. Fold in the cheese if using.

The mash is ready when a spoonful sits in a soft mound and fork ridges stay visible instead of immediately flattening. It should still taste creamy.

Avoid the food processor or immersion blender; either can work the starch enough to make the potatoes gluey.

Potato guide showing drained chunks steam-drying in a hot pan and mashed potatoes that are too loose, correctly creamy with visible ridges, or too stiff and dry.
Steam-drying gives you more control over the milk because less cooking water is hiding in the potatoes.

7. Taste the Filling With the Mash

Take a little filling and a little potato in the same bite.

Potato mutes seasoning. A gravy that tasted fine on its own can seem flatter once the two layers meet.

Add up to the remaining ½ teaspoon filling salt, a little at a time, plus black pepper or a little more Worcestershire or soy if needed.

If the filling tastes rich but flat, try acid before adding more salt. Start with 1 teaspoon balsamic or red wine vinegar; add the second only if the combined bite still needs it.

If you used the soy-and-balsamic Worcestershire substitute, taste first because you may already have enough acidity.

Spoonful of unbrowned mashed potato and glossy lentil filling together, illustrating the seasoning taste test before the pie is assembled.
Make the final seasoning adjustment with both layers together; the potato softens the impact of the gravy.

8. Let the Filling Settle, Then Top It

Heat the oven to 400°F / 200°C / 180°C fan.

Transfer the filling to the baking dish if needed, level it and leave it for about 10 minutes.

If it is still steaming aggressively or the mash is particularly soft, give it closer to 15 minutes. It doesn’t need to be cold.

Dot small spoonfuls of mashed potato all over the surface. Once most of the filling is covered, gently join the mounds together.

Spread the potato right to the edges so it forms a loose seal over the filling. Gaps around the sides give bubbling gravy an easy way through.

Drag a fork lightly across the surface to make ridges. Brush or drizzle with a little melted butter or olive oil if you want stronger browning.

Four-stage guide showing lentil filling resting, small dollops of mashed potato added, mash spread to the edges, and fork ridges made in the pale unbaked topping.
Small dollops spread the weight, so the mash needs less dragging and is less likely to sink.

9. Bake, Brown and Rest

Set the baking dish on a rimmed sheet pan if it is close to full.

Bake for 20–25 minutes, until gravy bubbles at several points around the edges and the raised potato ridges are beginning to brown.

If the center is hot but the top is pale, switch to the broiler/grill for 1–3 minutes and watch continuously.

Rest for at least 10 minutes. Straight from the oven, the gravy is still moving underneath the potatoes; resting gives it time to settle back around the lentils.

Wait closer to 20 minutes for cleaner portions. Ten minutes on the counter does more for the first serving than ten extra minutes in the oven.

Side-by-side lentil shepherd’s pie just out of the oven with looser gravy and after resting with a more settled filling and cleaner structure.
Build the 10–20 minute rest into dinner timing instead of treating it as a delay.

Need something else? Troubleshooting · Make Ahead · Back to Top

If Your Pan Looks Different

If yours is already bubbling happily in the oven, you are done. The rest is for next time—or for a pan that looks wetter, drier or slower than expected.

Your lentils may not match someone else’s at exactly minute 30. Your potatoes may need less milk. A wide skillet may reduce much faster than a Dutch oven. Use the physical cues instead of trying to force your pan to match the clock.

Plated serving of rested lentil shepherd’s pie with browned mashed potato on top and thick brown lentil, carrot and pea filling underneath.

Which Lentils Are Best?

If you are standing in the supermarket deciding between bags, buy brown lentils. Regular green lentils are the next easiest choice and give a slightly firmer filling.

LentilWhat to Expect
BrownReliable everyday choice; tender with enough structure
Regular greenA little firmer; may need more time
Puy/FrenchVery defined texture; often slower to soften
Black/BelugaFirm and chewy; useful if you already like them
Canned brown/greenFastest route; needs much less broth
RedBreaks down into a much softer filling

Texture is the deciding factor. In a creamy dal tadka, lentils can soften much further. Here, keeping them visible gives the filling more bite beneath the potatoes.

Five dry lentil varieties on dark slate: brown, regular green, mottled Puy/French, black Beluga and split red lentils, with brown shown as the everyday choice for the pie.
Brown, green, Puy, Beluga and red lentils are visually distinct enough to identify at a glance.

Puy and black lentils are good options when you specifically want a firmer texture, but neither is necessary enough to justify a special shopping trip.

Red lentils are different. They partially dissolve as they cook, producing a softer, more cohesive filling. That can still make a good potato-topped pie, but the liquid and timing need to be built around red lentils rather than copied directly from this recipe.

How Much Milk Does the Mash Need?

Different potatoes absorb different amounts of milk, so the texture matters more than using every last milliliter. Stop when the mash holds a soft mound and fork ridges stay visible. There is no prize for emptying the measuring cup.

If you want a deeper guide to potato varieties, warm dairy and avoiding gluey mash, see our Mashed Potatoes Recipe.

When Something Looks Off

Stop before the potatoes go on if you can. Most problems are easier to correct in the pan.

ProblemFix
Watery fillingSimmer uncovered until the spatula trail briefly holds
Dry fillingAdd broth 1–2 tbsp / 15–30 ml at a time
Hard lentilsAdd ¼ cup / 60 ml liquid, cover and keep cooking
Mushy lentilsStop cooking; stir as little as possible
Flat flavor beside potatoTaste both together; adjust seasoning and acid
Too saltyLoosen carefully with unsalted liquid
Loose mashWarm gently to evaporate moisture
Stiff mashAdd warm milk 1 tbsp / 15 ml at a time
Gummy mashHard to reverse; avoid a blender or processor next time
Potato sinksCorrect both textures, let the filling settle and dollop the mash
Pale topFork the surface and finish briefly under the broiler/grill

If the Filling Is Watery

First check whether you used dry or already-cooked lentils. Cooked lentils need far less broth.

Then look at anything else you added. Mushrooms and zucchini release water, frozen vegetables may carry ice, and previously frozen cooked lentils can shed liquid as they thaw.

Once the lentils are tender, leave the pan uncovered and let the excess moisture cook away.

If the Mash Is Sinking

Check both layers. The filling needs enough body to support the potatoes, and the mash needs enough body to hold itself.

Then give the filling ten minutes before topping. Small dollops are much easier to spread gently than one heavy mound in the middle.

Cross-section guide showing mashed potato sinking into watery lentil filling, loose mash collapsing over thicker filling, and a stable topping over properly thickened lentils.
If firm mash sinks, the filling is too loose; if the mash slumps on its own, the mash is too soft.

Changing the Ingredients

Most substitutions come down to how much water they bring into the pan.

Moisture-management guide for mushrooms, frozen vegetables, zucchini, spinach and sweet potato when adapting a lentil shepherd’s pie.
With wetter substitutions, evaporate the extra water early rather than trying to rescue the gravy at the end.

Mushrooms: completely optional. If using them, chop them finely and brown them until their released liquid has evaporated before cooking the onion, carrot and celery. Nothing needs to replace them if you leave them out.

Frozen vegetables: frozen diced onion, carrot and celery can replace the fresh vegetables; cook off obvious freezer moisture first. Frozen mixed vegetables also work, but check the gravy again before topping.

Zucchini: it releases much more water than carrots or peas. Cook it thoroughly before it joins the filling, or keep it separate. Our Air Fryer Zucchini is an easy side if you want the vegetable without changing the gravy.

Sweet potato: it makes a softer, sweeter topping. Keep the mash fairly firm and taste it with the filling before assembly; the gravy may need slightly stronger seasoning.

Spinach: wilt and drain it first. No wine? Use the broth version as written. Leftover mash? Warm it before spreading and loosen only as much as necessary.

Making It Vegan

The lentil filling barely changes. Use vegan Worcestershire or the soy-and-balsamic substitute, replace butter with vegan butter or olive oil, use unsweetened plant milk, and skip the cheese or use a plant-based alternative.

Plant milks vary in thickness. Add them gradually and stop when the potatoes spread easily and hold their ridges.

If You Need It Gluten-Free

The base recipe contains no flour. Check the vegetable broth and Worcestershire, and use gluten-free tamari instead of regular soy sauce where needed. Check the optional cornstarch package too if cross-contamination matters.

Make Ahead, Freeze and Reheat

Short version: make the filling and mash up to 2 days ahead, or assemble the whole pie up to 24 hours ahead. For longer storage, freeze it.

Storage guide showing filling and mash up to 2 days ahead, assembled pie up to 24 hours ahead, freezing for 2–3 months, overnight refrigerator thawing, and reheating to 165°F / 74°C.
Keeping filling and mash separate gives you more texture control; assembling ahead saves more work at dinner.

A Day or Two Ahead

Refrigerate the cooked filling and mashed potatoes separately for up to about 2 days.

Warm both before assembly. Chilled lentil gravy often thickens, so add a splash of broth if needed. Cold mash may need a little warm milk before it spreads comfortably.

You can also assemble the entire pie up to about 24 hours ahead. A refrigerator-cold casserole may need roughly 10–15 minutes longer than one assembled warm. Look for bubbling filling and a thoroughly hot center; if checking with a thermometer, aim for 165°F / 74°C in the center.

Freezing

If potato texture matters most, freeze the cooked lentil filling on its own and make fresh mash later.

If you’d rather have the whole casserole ready to go, cool the filling and mash, assemble the pie, wrap it well and freeze it before the final bake. For best quality, use the frozen filling or assembled pie within about 2–3 months; see the USDA freezing guidance.

Thaw an assembled pie overnight in the refrigerator, then bake it as a refrigerator-cold pie, allowing extra time for the center to heat through.

Baked portions can also be frozen. The potato may lose a little fluffiness after thawing, but the pie still reheats well.

Refrigerating and Reheating

Cool leftovers promptly, cover and refrigerate for 3–4 days. The USDA leftovers guidance recommends reheating leftovers to 165°F / 74°C.

Individual portions reheat well in the microwave or covered in the oven.

For a whole refrigerated pie, cover loosely and reheat at 350°F / 175°C. Start checking around 30 minutes; a deep, cold casserole commonly needs roughly 30–45 minutes or longer. Trust the center temperature more than the clock.

Once hot, uncover and briefly broil/grill the top if the potatoes have softened. If dinner is only delayed for a short while, keep the baked pie loosely covered and re-crisp the top under the broiler/grill for 1–2 minutes before serving if needed.

What to Serve With It

You don’t need much beside it. Something green or sharp is enough.

Try lemony green beans, roasted broccoli, crispy roasted Brussels sprouts, pickled onions or a leafy salad.

A cold vinegar cucumber salad gives especially good contrast against the soft casserole.

Plate of lentil shepherd’s pie with browned potato topping and lentil filling, served beside a cucumber, red onion and herb salad, with the casserole behind it.
A crisp, acidic side keeps the rich lentil-and-potato plate from feeling heavy.

Dinner Is Ready

Look around the edges first. The gravy should be bubbling, the forked potato peaks should have some color, and after the rest a serving spoon should lift both layers without leaving a pool of liquid behind.

Don’t worry if the first serving isn’t a perfect square. This is a spoon-and-plate casserole. What matters is that the potatoes and lentils come up together and the gravy stays with the filling.

Spoon it onto plates while the top is still hot, add something green or sharp beside it, and try to catch one of those browned potato ridges in the first bite.

Close-up of a spoon breaking through browned mashed potato ridges into glossy brown lentils, carrots and peas in a baked shepherd’s pie.

If you make it, tell us which lentils you used—and whether your pan wanted more broth or less. Those details help the next person making it.

Back to Recipe · Back to Top