This Panang curry recipe is one of Thailand’s most popular dishes and it’s known for its bright and zesty makrut lime, fatty coconut milk, and various other seasonings.
With this recipe, you’ll learn how to make Panang curry paste from scratch using a mortar and pestle (or a food processor) so you can make a flavorful and tender beef Panang at home anytime.
What is Panang curry?
Panang curry, or sometimes called phanaeng, originates from central Thailand and dates back to the 19th century. This authentic red curry is made with chile pepper, makrut lime (also known as Thai lime) juice and leaves, coconut milk, and other seasonings. All of these ingredients give it a zesty, sweet, salty, and nutty flavor. Although it’s red in coloring, it can be significantly lower in spiciness than other Thai red curries.
The type of Panang we’re making here
My favorite beef Panang is from a local restaurant, Thai Nakorn, and it’s hands down the best in meat tenderness and flavor. This version of beef Panang is somewhat different from any other versions I’ve tasted from other restaurants, but stick with me.
I love the way this restaurant does it because it uses thick and tender braised cubes of meat. The large cuts make for a more impressive presentation. And they include veggies and herbs you don’t really see in other Panang curries, like slices of bell peppers slightly cooked but still crunchy (instead of chile peppers), and they top it with amazingly aromatic Thai basil. I love getting some of the basil in with each bite since its strong flavor and aroma, like in phở, goes so well with the dish.
Ingredients in Panang curry
In traditional Panang curry, there are various different ingredients in both the paste and the overall curry. I like to make Panang paste from scratch and use shallots, red chile powder, lemongrass, roasted peanuts, garlic, galangal, makrut peels, cumin powder, coriander, and shrimp paste. For the curry itself, I combine the paste with coconut milk, palm sugar, fish sauce, makrut lime leaves, and juice.
The curry paste to use
While there are obviously a lot of different ingredients to make the Panang curry paste from scratch, you can also use premade Panang paste from the grocery store.
Premade curry paste
If you don’t have time or resources to find the ingredients, you can easily find premade Panang curry at your local Asian grocery store. A popular brand is Aroy-D – Panang Curry Paste.
Homemade panang curry paste
I like to make the paste from scratch when I have time so I can customize different flavor profiles. To make the paste, I use a traditional mortar and pestle to make sure all the ingredients are fully combined. I’ve previously used a food processor and this works too, you may have to scrape the sides down and process a dozen times to get a thick paste consistency.
This recipe makes two separate servings for Panang paste so you can have some for a future date and save time!
My favorite type of Panang curry includes beef, but you can also use chicken, fish, or tofu if you prefer. Traditionally, beef Panang has strips of beef cuts like chuck roast (or really any type of beef you prefer), but I found that most strips of beef were not tender enough and dried out.
Cuts of beef to use
For this recipe, I’m using beef short rib and cutting it into large cubes, searing them, and braising it in a seasoned coconut milk/water mixture for over an hour to make sure it’s super tender and flavorful. I’ve made this with leaner cuts of beef, but even after braising for a while it does get soft, but I miss the fattyness. Beef short ribs (there’s no bones in this) get super soft and are more tender due to the higher fat content–it’s not a cheap cut but I love it for this.
How thick to cut the meat
The thicker you cut the meat, the longer you’ll have to braise. Thicker cuts look nice for presentation in my opinion and braising it still gives you super moist, tender, and flavorful pieces of beef.
If you don’t have time to braise the meat you can also cook the meat traditionally by cutting it into thin strips and cooking it in the curry towards the end of the cooking time. However, I would make sure to watch over the meat while cooking to prevent it from overcooking.
How to make Thai panang curry
Once you have your Panang paste and braised meat, you can start making the curry! What’s interesting about making Panang curry is that you actually cook a portion of the coconut milk and paste down to get an even more concentrated flavor. Then, you add the palm sugar, fish sauce, red bell peppers, and makrut leaves, and juice to mix.
I then add all this curry liquid to the braising pot with the meat in order to keep all those flavorful juices in the curry. I simmer for an additional 10 minutes to make sure all the flavors marry together. Top with Thai basil and serve.
Serving and storage
I love serving beef Panang curry with jasmine coconut rice because it’s a light and mild flavor to pair with the curry. These taste so good together–you’ll definitely want to make it again and again. If you prefer, it goes just fine with plain jasmine rice too.
Panang curry is best served with an iced cold glass of Thai iced tea and if you love dessert, you’ll love to end your night with mango sticky rice, too. If you have any leftovers, I keep them in an airtight container for about 3-4 days and reheat using a microwave.
Thai Panang Curry w/ Beef & Vegetables
- 660 g beef short rib preferred, or chuck, etc
- salt for seasoning beef
- vegetable oil for searing
- 946 g (32 fl oz) filtered water
- 113 g (4 fl oz) coconut milk full fat
- 3 g (1 tsp) salt for seasoning braise
- lemongrass stalks just the greens from leftover panang paste
Panang paste (this makes 2 recipes worth of paste)
- 2 g (1 tsp) coriander seeds
- 17 g (2 tbsp) roasted peanuts
- 16 g (1 stalk) lemongrass yellow center pieces
- 83 g (2) shallots sliced
- 25 g (1 inch) galangal peeled and chopped
- 4 g (½ tbsp) dried chile powder
- 22 g (7 cloves) garlic
- 11 g (1 medium) makrut lime peels
- 2 g (1 tsp) cumin powder
- 7 g (1 tsp) shrimp paste
- 3 g (1 tsp) salt
- mortar and pestle or food processor/strong blender)
- knife and cutting board
- stock pot or dutch oven
- saute pan
- Cut the beef into about 2.5 inch cubes and dry each piece thoroughly. Season each side of the meat with heavy pinches of kosher salt up to 1-2 hours before searing and rest on paper towels or a cooking rack so they can dry out a bit.
- In a pot over medium-high heat, add vegetable oil and sear all sides of the meat, about 1 minute per side. Repeat with all pieces of meat and transfer to a plate when finished.
- Add about 1 cup of water into the pot and use a wooden spoon to scrape the browned bottom of the pan. Add the rest of the water and the meat to the pot. Bring to a boil and cook for about 10 minutes.
- Skim and discard any scum that floats to the top of the pot.
- Add the coconut milk, salt, and lemongrass leaves in the pot and stir to combine with the meat and water.
- Once boiling, bring the heat to low and simmer. Braise the meat for 1 ½ hours or until the meat is tender. Check the meat every 30 minutes and add additional water if the meat is above the water line. The end result should be tender meat pieces and slightly thick coconut liquid.
- In a mortar and pestle (or food processor), grind the coriander seeds and peanuts. Add each ingredient one by one to the mortar until all the ingredients form a thick paste. I had to open the food processor lid and scrape down the sides about a dozen times until everything was processed evenly.
- If you did not scale this recipe up/down, it will make enough curry paste for 2 batches. Transfer half of this paste in an airtight container and use for future recipes.
- In a saute pan over medium heat, add ½ of the coconut milk and cook for about 1 minute or until slightly thick. Here's how it looks after it's ready.
- Add ½ amount of the remaining paste to the pot, and cook on medium heat.
- Cook until the oil begins to separate, about 2 minutes.
- Add fish sauce, palm sugar, makrut lime juice, and the rest of the coconut milk. Stir until combined.
- Add this mixture to the stock pot with the braised meat and stir to combine. Simmer for 10-15 minutes, add water if it gets too thick. Taste to test the flavor, you can add more chile powder if you want more spice, add more sugar for sweetness, or lime juice for acidity.
- All optional: Add sliced bell peppers and cook for 1-2 minutes so it's still crunchy. Add Thai basil and slightly cook just so it wilts. Add lime leaves right before serving.
- Serve with steamed white rice, or coconut rice.