Soups & Stews
This Filipino beef afritada recipe brings the rich, creamy comfort of Panlasang Pinoy cuisine to your kitchen with tender beef and a velvety tomato-coconut sauce. 🌟 The Spanish-influenced dish transforms tough beef into melt-in-your-mouth bites, simmered with garlic, onions, and potatoes until the flavors meld perfectly. What makes this version special is the balance of tangy tomatoes and coconut milk, creating a sauce that's both creamy and deeply satisfying.
The secret to achieving that signature tender texture lies in slow cooking—the beef breaks down beautifully as it absorbs the aromatic sauce. Traditional techniques like browning the meat first and layering vegetables ensure every bite delivers maximum flavor. This recipe is designed to be your go-to for family dinners or special occasions, where the rich aroma alone will have everyone gathering at the table.
By the time you serve this dish, you'll have a pot of golden, creamy stew that's rich with the natural flavors of beef and vegetables. The sauce clings to each piece of meat, creating a harmonious blend of sweet, savory, and slightly tangy notes. It's the kind of meal that feels indulgent yet comes together with simple, accessible ingredients—perfect for showcasing Filipino home cooking at its best.
Serve with steamed rice to soak up every last drop of that luscious sauce, and pair with a simple green salad for balance. The leftovers reheat beautifully, making this an ideal recipe for meal prep or feeding a crowd. Let's get cooking!
Ingredients for beef afritada panlasang pinoy
Sixteen ingredients transform tough beef into creamy, tender bites of Panlasang Pinoy comfort.
| Ingredient | Amount | Notes |
|---|---|---|
| Beef Chuck Roast 🥩 | 2 lb | Cut into 1.5-inch cubes |
| All-Purpose Flour 🌾 | 2 tbsp | For dredging beef |
| Yellow Onions 🧅 | 2 whole | Sliced into 1/2-inch pieces |
| Russet Potatoes 🥔 | 3 medium | Peeled and cut into chunks |
| Canned Tomatoes 🍅 | 2 cans | 14.5 oz each, crushed |
| Coconut Milk 🥥 | 1 can | 13.5 oz, full-fat preferred |
| Garlic Cloves 🧄 | 6 cloves | Minced finely |
| Olive Oil 🫒 | ¼ cup | Extra-virgin for browning |
| Tomato Paste 🍅 | 2 tbsp | Squeeze tube preferred |
| Bay Leaves 🌿 | 2 whole | Fresh if possible |
| Ground Black Pepper 🌶️ | 1 tsp | Freshly ground |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| White Vinegar 💧 | 1 tbsp | For balancing flavors |
| Fresh Thyme Leaves 🌿 | ¼ cup | Chopped or dried substitute |
The beef is everything here—chuck roast breaks down beautifully into tender chunks. Grab the pre-cubed version from Costco or your local butcher for convenience, but if you're buying whole, ask for well-marbled cuts. The potatoes should be firm and starchy—Russets are ideal, but Yukon Golds work too. For the tomatoes, San Marzano cans elevate the dish, but any high-quality crushed tomatoes will do. Coconut milk matters: full-fat gives that signature creamy texture, so skip the light versions.
No fresh thyme? Dried at one-third the amount works perfectly. Running low on tomato paste? Squeeze tubes from Trader Joe's are a lifesaver—they keep for months and eliminate waste. The bay leaves can be dried, but fresh ones infuse more aroma. For extra depth, add a dash of soy sauce (just 1 tsp) to the sauce. The vinegar balances the richness, so don't skip it—it's what makes this dish tangy and bright. Prefer a smoother sauce? Blend half the cooked tomatoes before adding them back in.
This stew tastes even better the next day as flavors meld. Store in an airtight container for up to 5 days in the fridge or 3 months frozen. For freezer prep, cool completely before portioning. The sauce thickens when reheated, so add a splash of water or coconut milk if needed. Serve with steamed jasmine rice—it soaks up every last drop of that velvety sauce. Leftovers make fantastic lunches or quick weeknight dinners.
Why You'll Love This Recipe
- One-Pan Magic: I swear by this recipe—just brown the beef, toss in the onions and potatoes, then dump in the canned tomatoes and simmer. No fancy steps, no extra pots. The flour helps thicken the sauce while you’re stirring, and suddenly, you’ve got a rich, saucy stew with almost no effort.
- Deep Umami Bomb: That beef chuck roast, slow-cooked until tender, soaks up the tomato sauce like a sponge, while the onions caramelize right into the pot. The flour gives it that silky, velvety texture, and honestly? It’s the kind of flavor that sticks with you—savory, slightly sweet, and impossible to resist.
- Leftover Goldmine: Between us, this dish begs to be made in bulk. The flavors only get better the next day, and reheating it is a breeze—just warm it up with a splash of water. I’ve fed my whole family for days with one big batch, and no one ever complains about eating it twice.
- Budget-Friendly Feast: You’re getting a hearty, filling meal for pennies. Beef chuck roast is cheaper than steak but just as satisfying, and potatoes stretch it into a full meal. Canned tomatoes cut costs without sacrificing taste, and the flour? That’s your secret weapon for turning simple ingredients into something restaurant-worthy.
Step-by-step instructions for beef afritada Panlasang Pinoy
This Filipino classic delivers melt-in-your-mouth beef and silky tomato-coconut sauce.
🔥 Step 1: Brown the Beef for Deep Flavor
Heat the 0.25 cup olive oil in a large Dutch oven over medium-high heat until shimmering. Pat the 2 lb beef chuck roast dry with paper towels and cut into 1.5-inch cubes. Working in batches, add the beef to the oil and brown on all sides for 2-3 minutes per batch—don't crowd the pan. You're building flavor here, so take your time.
The beef should develop a rich golden crust before removing it to a plate. Sprinkle the 2 tbsp all-purpose flour evenly over the browned beef and toss to coat completely. This creates a light crust that thickens the sauce later. Keep the beef warm while you prep the aromatics.
🍳 Step 2: Sauté Aromatics Until Fragrant
In the same Dutch oven, add the 2 whole yellow onions sliced into ½-inch pieces and cook for 5-6 minutes until softened and golden. Add the 6 cloves garlic cloves minced finely and cook for another 30 seconds until fragrant—this prevents bitter garlic flavors. Stir in the 2 tbsp tomato paste and cook for 1 minute to deepen its flavor.
Here's where the magic starts: Pour in the 2 cans crushed canned tomatoes and 1 tbsp white vinegar. Bring to a simmer and let it cook uncovered for 5 minutes to mellow the acidity. Add the 2 whole bay leaves, 1.5 tsp salt, and 1 tsp ground black pepper, stirring to combine. This aromatic base forms the foundation of your sauce.
🥘 Step 3: Simmer Beef in Tomato-Coconut Mixture
Return the beef to the Dutch oven along with any accumulated juices. Pour in the 1 can coconut milk and add the 3 medium russet potatoes peeled and cut into chunks. Stir gently to combine, then bring to a gentle simmer. Cover and cook on low heat for 45-50 minutes until the beef is fork-tender and potatoes are nearly cooked through.
I check for doneness by piercing the largest beef piece—it should offer minimal resistance. If the sauce looks too thick, add ¼ cup water to loosen it. The coconut milk will create that signature creamy texture we're after, but it needs time to meld with the tomatoes. Stir occasionally to prevent sticking, but don't overmix.
🔪 Step 4: Finish with Fresh Herbs and Adjust Seasoning
Remove the 2 bay leaves and stir in the 0.25 cup fresh thyme leaves chopped. Simmer uncovered for another 5-7 minutes to allow the flavors to concentrate. Taste and adjust seasoning—you might need a pinch more salt or a splash of vinegar to balance the sweetness.
The sauce should coat the back of a spoon with a velvety consistency. If the potatoes aren't quite tender, return the lid and cook for another 5 minutes. The beef should pull apart easily at this point, releasing its juices into the rich sauce. This is where all the flavors come together in perfect harmony.
Pro Tips For Making Beef Afritada Panlasang Pinoy
- SEAR THE BEEF FIRST: I learned this the hard way—skipping the sear means flavorless beef. After browning the chuck roast in 2 tablespoons of oil on high heat (yes, even if you're impatient like me), you’ll get that deep, caramelized crust that holds up through the long simmer. The potatoes and tomatoes will thank you later.
- SLICE ONIONS THINLY: My grandmother swore by this, and she was right: thinly sliced onions (about 1/8-inch thick) cook faster and soak up the sauce better than thick chunks. Use a sharp knife and cut parallel to the root end—no need to peel them first, just trim the ends. They’ll soften into the sauce without turning to mush.
- DON’T SKIP THE FLOUR SLURRY: This isn’t the prettiest method, but it’s the tastiest. Mix 2 tablespoons of all-purpose flour with 1/4 cup cold water into a smooth paste before adding it to the simmering beef and tomatoes. Stirring it in right after the onions softens creates a natural thickener that’s way better than just dumping flour in dry—no lumps, no weird texture.
- POTATOES LAST, LOW HEAT: After burning three batches, I finally figured out the right order: add the potatoes after the beef has simmered for 20 minutes. Then drop the heat to medium-low and let them cook undisturbed for 15 minutes. Crowding the pan or rushing the heat turns them to glue—you want them tender and absorbing the sauce, not falling apart.
Troubleshooting this dish
Sauce Too Thin?
If your sauce looks watery after simmering, don’t panic—this happens when coconut milk and tomatoes don’t fully meld. Reduce the heat to low and let it simmer uncovered for 10-15 extra minutes to thicken naturally. For faster results, mix 1 tbsp cornstarch with 2 tbsp cold water, stir into the sauce, and cook for 2-3 minutes until it reaches your desired consistency. I’ve found that using full-fat coconut milk (like Goya brand) helps prevent this issue from the start. 🥥
Beef Still Tough?
Undercooked beef is usually the result of rushing the process. After browning, simmer the beef for at least 1.5 hours on low heat—this breaks down the connective tissue. For extra tenderness, add ½ cup beef broth when you return the beef to the pot. If you’re short on time, try the pressure cooker method: cook on high pressure for 45 minutes, then finish with the sauce. A meat thermometer is your best friend here—aim for 203°F internal temp.
Potatoes Mushy?
Overcooked potatoes happen when they absorb too much liquid. To fix this, add potatoes later—about 15 minutes before the beef is done. For firmer texture, parboil them for 5 minutes before adding to the stew. If they’re already mushy, drain some sauce and return them to the pot for 5 minutes to firm up slightly. I like using Yukon Gold potatoes for a creamier (but still firm) bite—they hold up better than Russets in long simmering. 🥔
Sauce Too Tangy?
The vinegar adds brightness, but sometimes it can overpower. Balance it by adding ½ tsp sugar or 1 tsp honey to the sauce and simmering for 2 minutes. If the tanginess persists, stir in 1 tbsp tomato paste to deepen the sweetness. For a smoother profile, blend ½ cup of the sauce before mixing it back in. Pro tip: Taste as you go—adjust gradually to avoid overcorrecting. 🍯
Burnt Onions or Garlic?
This usually happens when you walk away while sautéing. Keep a close eye on your aromatics—once onions turn golden, add garlic immediately to prevent burning. If it happens, remove the burnt bits with a slotted spoon and start fresh with 1 extra clove of garlic to maintain flavor balance. For extra insurance, sauté onions on medium heat instead of high. I like using sweeter Vidalia onions for a milder, less burn-prone flavor. 🧅
Coconut Milk Separating?
This occurs when the sauce gets too hot or acidic. To fix it, whisk in 1 tbsp coconut milk (straight from the can) to stabilize the emulsion. For prevention, never boil the sauce—keep it at a gentle simmer. If the separation is severe, blend the entire sauce until smooth, then return it to the pot. I’ve had the best luck with coconut milk brands like Thai Kitchen—they emulsify better than generic store brands. 🥥
Nutrition facts
Frequently asked questions
Can I substitute chicken or pork for the beef?
Yes, but the cooking time and texture will differ. For chicken, use bone-in thighs (2 lbs) and cook for 25-30 minutes after adding to the sauce. Pork tenderloin works well too—simmer for 40-45 minutes until tender. The sauce will absorb flavors differently, so adjust seasoning to taste.
Why does my sauce turn out watery?
Watery sauce usually means the coconut milk and tomatoes didn't meld properly. Simmer uncovered for 10-15 extra minutes to reduce it naturally. For quicker results, mix 1 tbsp cornstarch with 2 tbsp water and stir into the sauce. Using full-fat coconut milk (like Goya brand) helps prevent this issue.
What makes this different from regular beef stew?
This Filipino-style afritada uses a tomato-coconut milk base instead of just broth, creating a creamy, slightly sweet-savory sauce. The addition of white vinegar and fresh thyme gives it that signature tangy brightness, while the slow cooking makes the beef incredibly tender. It's richer than traditional stews but lighter than heavy casseroles.
Can I make this in an Instant Pot?
Sauté onions and garlic as directed, then add all ingredients except potatoes. Cook on high pressure for 30 minutes, then quick-release. Add potatoes and cook on sauté mode for 5 minutes. The pressure cooker cuts time by half** while keeping the beef tender. Just be careful not to overcook the potatoes.
How do I store leftovers?
Store in an airtight container in the fridge for up to 5 days or freeze for 3 months. Reheat gently on the stove with a splash of water or coconut milk to restore creaminess. The flavors actually improve overnight as the sauce thickens further. Perfect for meal prep!
