Phat Bai Horapha (Thai-Style Beef With Basil and Chiles)

Sliced beef and Thai purple basil combine for a very quick but super-flavorful stir-fry.

A ceramic bowl filled with Thai-style beef with basil and chiles.

Serious Eats / J. Kenji López-Alt

Why It Works

  • Using a mortar and pestle to smash the chiles and garlic brings out more of their flavor than chopping or grinding in a food processor.
  • Browning the beef in batches lets you sear the meat without steaming it or overcooking it.

Phat ka-phrao is a ubiquitous street dish in Thailand, where cooks wielding woks will rapidly stir-fry sliced or minced meat flavored with garlic, shallots, fish sauce, and fiery Thai bird chiles, finish it off with a big handful of holy basil, and serve it with rice and perhaps a fried egg on top. Unless there's running water nearby, you'll probably eat it off of plates wrapped in the world's thinnest plastic bags (designed to be slipped off and discarded after use, like a plate condom), knees bent and back hunched, over a small plastic table. The only things thinner than those plastic bags are the napkins that disintegrate as you try to wipe the sweat from your brow.

Back in the United States, you can walk into any Thai restaurant and order phat ka-phrao off the menu, but you're unlikely to actually get it. Instead of the spicy, almost medicinal flavor of jagged-edged, fuzzy-leafed holy basil (ka-phrao), you're going to taste the sweet, anise-like flavor of Thai purple basil (bai horapha). Holy basil is difficult to come by 'round these parts.

Now, I could let this unfortunate state of affairs drive me to great lengths—literally—in search of the few leaves of holy basil that make their way to the Bay Area so that I might be able to recapture some of that Thai flavor. Instead, I generally choose to accept the fact that phat bai horapha is not phat ka-phrao, but it's still darned delicious in its own right. Even in Thailand, stir-fries with purple basil are commonly served, so we don't have to lose out on the authenticity points.

Pounding Out Flavor

When I make the dish at home, it starts the way most Thai recipes do: with a mortar and pestle. Using a mortar and pestle to grind up garlic and chiles is not only more efficient than using a food processor—it's much easier to clean the two simple parts than to take apart my food processor, with all its nooks and crannies—but also produces better flavor.

Whether you're making guacamole or pesto, in test after test we've found that the crushing action of the pestle releases more flavor than the chopping of a food processor. I like to use a heavy granite one—its weight does most of the work for me.

To really effectively grind fibrous vegetables, you need to add some kind of abrasive. In most cases, that's salt, but here I use sugar. Palm sugar, if you can find it (it has a faint caramel-y flavor that does well in savory dishes), though unrefined cane sugar works fine in its place. With the abrasive, it takes only a minute or so of pounding and grinding to get the chiles and garlic worked into a fine paste. I use a dash of fish sauce to loosen it up.

Stir-Frying the Beef

Many Thai stir-fries begin with frying fresh aromatics in oil before adding your protein and tossing it all together. This is in contrast to Chinese-style stir-fries, which typically use much higher heat—hot enough that the aromatics would burn before your meat even got to the pan. I use the Thai oil-infusing technique from time to time, particularly for dishes featuring ground meat, in which the aromatics and sauce can really soak that meat in flavor.

But for recipes like this one, where the meat is sliced, I actually prefer to go with the more Chinese approach, which gives the meat a chance to really brown and bring some extra flavor of its own.

I start by thinly slicing beef—flank, skirt, hanger steak, and flap meat all make great stir-fries—against the grain in order to shorten its muscle fibers. I then marinate these slices with fish sauce, soy sauce, and a bit of sugar. The fish sauce and soy sauce are powerful sources of glutamic acid, which enhances the savoriness of the beef. Soy sauce also contains proteases—enzymes that can tenderize meat (though, if sliced thin, the meat should be plenty tender to begin with). The sugar is mainly there to help the beef get color a little more quickly when it hits the pan. (Don't forget: We've already got some palm sugar in the sauce to balance out the heat of the chiles.)

The real key to a successful stir-fry is to limit yourself to batches that your stovetop can handle. For instance, I know that if I try to add more than a half pound of thin-sliced beef to my wok all at once, it'll instantly cool down, causing the meat to steam instead of brown. Working in batches, spreading the beef out, and allowing the wok to reheat in between are the secrets to good stir-fries on a home range. (Check out some more wok basics here.)

Once both batches of beef are browned, I wipe out the wok and reheat it for the final steps of the stir-fry. The beef goes back in, along with sliced aromatics—shallots, more garlic, and more chiles. (Yep, we're doubling up on chile and garlic flavor here—the sliced version of each has a different flavor from the pounded version.) This dish doesn't typically contain makrut lime leaf, but I love the aroma so much that I can't resist adding some, sliced into hair-width slivers.

As soon as my aromatics are, well, aromatic, and my beef is as browned as I'd like it to be, I add in the chile-garlic sauce. It should very rapidly reduce to a thin glaze (we're going for moist-but-not-saucy here). And we're finally at the moment when the fate of the dish is about to be decided. Will we get spicy, medicinal, and oh-so-rare phat ka-phrao, or will we get licorice-scented, easy-to-love and easy-to-source phat bai horapha?

I think we already know the answer to this one. My big ol' handful of Thai purple basil goes into the wok. A couple of tosses, a pinch of salt for seasoning, perhaps some extra lime leaf threads and fried shallots to garnish, and we've got a delicious Thai meal in about 15 minutes.

This is just one of the many reasons I love my wok.

January 2016

Recipe Facts

Prep: 5 mins
Cook: 15 mins
Active: 15 mins
Marinating Time: 15 mins
Total: 35 mins
Serves: 2 to 3 servings

Rate & Comment


  • 1 pound (450g) flank steak, skirt steak, hanger steak, or flap meat, cut into 1/4-inch-thick strips

  • 1 tablespoon (15ml) soy sauce, divided

  • 5 teaspoons (25ml) Asian fish sauce, divided

  • 1 teaspoon (4g) white sugar

  • 4 to 6 fresh red or green Thai bird chiles, divided

  • 6 medium cloves garlic, divided

  • 1 1/2 tablespoons (20g) palm sugar (see notes)

  • 1 small shallot, thinly sliced

  • 4 makrut lime leaves, very thinly sliced into hairs (central vein discarded), plus more for garnish (see notes)

  • 2 tablespoons (30ml) vegetable or canola oil, divided

  • 2 cups packed Thai purple basil (about 2 ounces; 55g) (see notes)

  • Dried Thai chile flakes or red pepper flakes to taste (optional)

  • 1/4 cup fried shallots (see notes)

  • Kosher salt

  • Cooked rice, for serving


  1. Combine beef, 1 teaspoon soy sauce, 2 teaspoons fish sauce, and white sugar in a bowl. Toss to combine and set in refrigerator to marinate for at least 15 minutes and up to overnight.

  2. Roughly chop half of Thai chiles and garlic and place inside a stone mortar with palm sugar. Grind with pestle until a mostly smooth paste has formed. Add remaining fish sauce and soy sauce and mash in mortar to form a sauce. Set aside. Finely slice remaining garlic and chiles and combine with shallot and lime leaves in a small bowl.

    Collage of Thai chiles, garlic, and sugar being pounded together in a mortar and pestle. The paste is then loosened a bit with fish sauce and soy sauce.

    Serious Eats / J. Kenji López-Alt

  3. When ready to cook, heat 1 tablespoon oil in a wok over high heat until smoking. Add half of beef and cook, without moving, until well seared, about 1 minute. Continue cooking, while stirring and tossing, until beef is lightly cooked but still pink in spots, about 1 minute. Transfer to a large bowl. Repeat with 1 more tablespoon oil and remaining beef, transferring beef to the same bowl. Wipe out wok.

    Collage of sliced beef being stir-fried in a wok.

    Serious Eats / J. Kenji López-Alt

  4. Reheat wok over high heat and add all of the beef, along with sliced garlic-chile-lime leaf mixture. Continue to cook, tossing and stirring constantly, until stir-fry is aromatic and shallots have completely softened, about 1 minute.

    Collage of browned beef being stir-fried with garlic-chile-lime leaf mixture.

    Serious Eats / J. Kenji López-Alt

  5. Add sauce mixture to wok and cook, tossing and stirring constantly, until completely reduced. (The beef should look moist, but there should be no liquid in the bottom of the wok.) Immediately add basil and toss to combine. Season to taste with salt and optional Thai chile or red pepper flakes. Transfer to a serving platter. Top with more makrut lime threads and fried shallots. Serve immediately with rice.

    Collage of beef being finished with pounded garlic-chile sauce and basil leaves.

    Serious Eats / J. Kenji López-Alt

Special Equipment

Mortar and pestle (see note), wok


Palm sugar is available in most Asian grocery stores. Light brown sugar or panela can be used in place of palm sugar.

Makrut lime leaf is sold fresh or frozen in Southeast Asian specialty shops, often under the name "kaffir" lime leaf. (Note that "kaffir" is a derogatory term.) It can be omitted if you can't find it.

Holy basil (ka-phrao, often marketed as "krapow" in the States) or sweet Italian basil can be used in place of purple basil.

You can make the crispy fried shallots yourself, or buy them: Check the dried-goods areas of most well-stocked Asian supermarkets.

Garlic, chiles, and palm sugar can be ground in a mini food processor, chopper, or blender, but a mortar and pestle will deliver the best flavor.

Read More

Nutrition Facts (per serving)
551 Calories
25g Fat
34g Carbs
46g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 2 to 3
Amount per serving
Calories 551
% Daily Value*
Total Fat 25g 32%
Saturated Fat 6g 31%
Cholesterol 119mg 40%
Sodium 1381mg 60%
Total Carbohydrate 34g 12%
Dietary Fiber 3g 9%
Total Sugars 11g
Protein 46g
Vitamin C 9mg 47%
Calcium 115mg 9%
Iron 5mg 28%
Potassium 819mg 17%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)