Beef Bicol Express Recipe: Smoky Garlic Beef Stew With Silky Eggs

Soups & Stews

Beef Bicol Express Recipe: Smoky Garlic Beef Stew With Silky Eggs

This Filipino beef bicol express recipe brings the rich, smoky flavors of the Bicol region to your kitchen, where tender beef and silky eggs simmer in a fragrant coconut milk broth infused with annatto and garlic. The dish transforms simple ingredients into a hearty stew that's as comforting as it is flavorful, with layers of texture that make every spoonful satisfying. What sets this recipe apart is the perfect balance of smoky, garlicky notes and the creamy richness of coconut milk, creating a dish that's both bold and deeply comforting.

The secret to an authentic bicol express lies in the slow simmering process, which allows the beef to become fork-tender while the vegetables absorb the rich, aromatic broth. Annatto seeds lend their signature golden hue and earthy depth, while black pepper and garlic add warmth and complexity. The dish traditionally includes potatoes and cabbage, but you can easily adapt it to include other hearty vegetables like carrots or green beans. This recipe delivers restaurant-quality results with a method that's straightforward and foolproof, perfect for a weeknight dinner or a special gathering.

By the time you're done, you'll have a steaming pot of beef bicol express that's ready to be served with steamed rice, where the tender beef and silky eggs soak up the fragrant broth. The dish is rich enough to stand alone but pairs beautifully with a side of garlic rice or a simple salad. The aroma alone will have everyone gathered around the table, eager for a taste of this beloved Filipino classic. Let's get started on creating this flavorful masterpiece.

One of the best things about this recipe is its versatility—it's hearty enough for a family dinner but can also be scaled down for a cozy meal for two. The leftovers reheat beautifully, making it a great option for meal prep or feeding a crowd. Whether you're introducing your family to Filipino flavors or recreating a favorite dish from your childhood, this beef bicol express is sure to become a staple in your recipe rotation. Here's everything you need to bring this comforting dish to life.

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for beef bicol express

Rich, smoky flavors start with these 13 simple but powerful ingredients—everything you need for authentic Filipino comfort.

Ingredient Amount Notes
Beef Chuck Roast 🥩 1 ½ lb Cut into 1.5-inch cubes
Coconut Milk 🥥 1 can (13.5 oz) Full-fat for creaminess
Annatto Seeds 🌶️ 1 tsp For signature golden color
Garlic Cloves 🧄 8 cloves Minced for deep flavor
Black Peppercorns 🌶️ 1 tsp Freshly cracked preferred
Russet Potatoes 🥔 2 medium Peeled, cut into chunks
Green Cabbage 🥬 ½ head Cut into wedges
Large Eggs 🥚 4 whole Fresh for silky texture
Yellow Onion 🧅 1 large Thinly sliced
Olive Oil 🫒 2 tbsp For searing beef
Salt 🧂 1 ½ tsp Kosher or sea salt
Bay Leaves 🌿 2 whole For aromatic depth
Fish Sauce 🍶 1 tbsp For umami balance

The beef is non-negotiable—chuck roast gives you that melt-in-your-mouth texture. Grab it from the butcher counter if possible, or the pre-cubed package at Costco saves time. Look for good marbling, not lean cuts. Annatto seeds might be tricky to find (check the Filipino aisle at Asian markets), but if you can't find them, turmeric at half the amount gives a similar golden hue. The coconut milk? Full-fat only—light versions won't give that creamy richness. And those eggs? Room temperatureg makes all the difference for silky perfection.

No annatto? Turmeric or saffron works in a pinch (though color won't match). Short on fish sauce? Soy sauce at double the amount gets you close. The potatoes can be Yukon Golds if you prefer—just peel and chop them the same size so they cook evenly. Cabbage too fibrous? Substitute green beans or carrots. And if you're worried about the beef being too tough, pound the pieces slightly thinner before cooking. The bay leaves? Remove them before serving—they're for flavor, not eating.

This dish gets better with time—3-4 hours of simmering is ideal, but minimum 2 hours works if you're in a hurry. Store leftovers in the fridge for up to 5 days, or freeze for 3 months. I always make extra because it reheats beautifully—just add a splash of water or coconut milk to loosen it up. The eggs will firm up slightly when reheated, but they're still delicious. Serve with steamed jasmine rice to soak up every last drop of that smoky, garlicky broth.

❤️

Why You'll Love This Recipe

  • I’ll be real: this is my go-to when I’m too tired to fuss but still want something impressive. It’s ready in under an hour, feeds four without breaking the bank, and even my picky-eating partner asks for seconds. (Yes, even on a Tuesday night.)
  • One-Pot Magic: Honestly, I love recipes that don’t require a million dishes—just dump everything in one pot, simmer, and walk away. The annatto seeds stain the coconut milk that gorgeous orange-red, and the beef practically falls apart from the slow cook. My kitchen stays cleaner, and my stress level drops.
  • Deep, Rich Flavor: Between us, that beef chuck roast turns so tender it melts in your mouth, while the garlic and peppercorns add a slow-building warmth. The coconut milk doesn’t just flavor it—it transforms it into something hearty and satisfying, like a hug in a bowl.
  • Weeknight Hero: I’ll be real: this is my go-to when I’m too tired to fuss but still want something impressive. It’s ready in under an hour, feeds four without breaking the bank, and even my picky-eating partner asks for seconds. (Yes, even on a Tuesday night.)

Step-by-step instructions for beef bicol express

This rich, aromatic stew delivers tender beef, silky eggs, and deep umami flavors in one perfect dish.

1

Sear the Beef for Maximum Flavor

Heat the 2 tablespoons olive oil in a large Dutch oven over medium-high heat until shimmering. Add the 1.5 lb beef chuck roast cut into 1.5-inch cubes, working in batches if needed to avoid crowding. Sear each piece for 2-3 minutes per side until deeply browned—this creates the foundation of flavor.

As the beef browns, you'll notice the oil bubbling vigorously and the meat releasing rich caramelized bits. These browned bits, called fond, are packed with flavor and will dissolve into the sauce later. Once all beef is seared to a deep golden brown, remove it from the pot and set aside on a plate.

2

Build the Aromatic Base

In the same Dutch oven, add the 1 large yellow onion sliced thinly and cook for 3-4 minutes until softened and translucent. Add the 8 cloves garlic cloves that have been minced and cook for 30 seconds until fragrant—don't let them burn, just release their aroma.

Stir in the 1 teaspoon black peppercorns (cracked if possible) and 1.5 teaspoons salt, letting them toast in the pot for 1 minute until you can smell their warmth. This step develops the complex layers of flavor that make Bicol Express so special. The spices should be sizzling gently, not burning.

3

Simmer the Beef in Coconut Milk

Pour in the 1 can (13.5 oz) coconut milk, scraping up any browned bits from the bottom of the pot. Return the seared beef to the pot and add the 2 whole bay leaves. Bring the mixture to a gentle simmer over medium heat, then reduce heat to low and cover partially.

Let the beef simmer for 45-60 minutes until tender. You'll know it's ready when a fork slides in easily and the meat pulls apart with minimal resistance. The coconut milk should have thickened slightly, creating a velvety sauce. If it reduces too quickly, add ¼ cup water to maintain the right consistency.

4

Add Vegetables and Season

Add the 2 medium russet potatoes cut into chunks and 0.5 head green cabbage cut into wedges to the pot. Stir gently to combine with the beef and coconut milk mixture. The vegetables should be mostly submerged in the sauce, but don't worry if they're not completely covered—they'll cook through from the steam.

Stir in the 1 tablespoon fish sauce and 1 teaspoon annatto seeds (lightly toasted in a dry pan first to enhance their aroma). The annatto will give the dish its signature golden color. Let everything simmer together for another 15-20 minutes until the potatoes are fork-tender and the cabbage is wilted but still holding its shape.

5

Poach the Eggs and Finish

Make four small wells in the stew using a spoon, then carefully crack the 4 whole large eggs into these wells. Cover the pot and cook on low heat for 5-7 minutes until the egg whites are set but the yolks remain runny and silky. The eggs should float gently in the stew, not sticking to the bottom.

Taste the stew and adjust seasoning if needed—add more fish sauce for umami or salt for balance. Serve the Beef Bicol Express hot, with each bowl containing tender beef, silky eggs, and aromatic vegetables swimming in rich coconut milk sauce. The annatto seeds will have infused the dish with their beautiful golden hue, making it as visually stunning as it is delicious.

👨‍🍳

Pro Tips For Making Beef Bicol Express

  • Sear the Beef Hard: The chuck roast needs that deep, caramelized crust to hold up in the long simmer. Use a heavy pot or Dutch oven—cast iron if you have it—and let the beef sit undisturbed for 3-4 minutes per side until it’s golden brown, not just slightly browned. I used to rush this, and the meat would turn out bland and mushy. Don’t skip the sear, even if it means waiting a little longer.
  • Toast the Annatto Seeds: Those tiny annatto seeds are the soul of the dish, but if you just toss them in raw, you’ll get a weak, murky color. Dry-toast them in your pot over medium heat for 30 seconds until they smell nutty and release their aroma—this deepens the flavor and makes the broth vibrant. I learned this the hard way after making a pale, sad-looking bicol that tasted like it was missing something.
  • Simmer Low and Slow: Bicol isn’t a race. After adding the coconut milk, keep the heat at a gentle simmer—you should see tiny bubbles breaking the surface, not a rolling boil. Too much heat and the coconut milk will split, turning the sauce grainy and unappetizing. I used to crank the heat, and the dish would end up curdled and disappointing. Patience here makes all the difference.
  • Use Whole Garlic Cloves: Peeling and mincing garlic cloves is a hassle, but for bicol, the difference is worth it. Whole cloves infuse the coconut milk with a milder, sweeter garlic flavor without overpowering it. Just toss in 6-8 unpeeled cloves, let them simmer with the beef, and remove them before serving—no one will miss the peels, but the flavor will be cleaner. I was skeptical until I tried it; the dish tastes brighter and more balanced.

Serving suggestions for this dish

Steamed Jasmine Rice

Serve your Beef Bicol Express with steamed jasmine rice—it’s the classic pairing that soaks up every drop of that rich, garlicky coconut broth. Use a 1:1.5 rice-to-water ratio (like 1 cup rice to 1.5 cups water) and cook in a rice cooker or heavy pot with a tight lid. For extra flavor, add 1 tablespoon butter or ½ teaspoon salt to the water. The fragrant rice balances the dish’s bold flavors perfectly. 🍚

Garlic Fried Rice

Transform leftover rice into garlic fried rice by sautéing 2 tbsp minced garlic in 1 tbsp oil until fragrant, then adding cooked rice, 1 egg, and a splash of soy sauce. This quick side adds a crispy, savory contrast to the creamy stew. Garnish with green onions for freshness. I make this when I have extra rice—it’s a game-changer for leftovers! 🧄

Simple Green Salad

A crisp green salad with mixed greens, cucumber slices, and a light vinegar-based dressing cuts through the richness of the stew. Toss 2 cups lettuce with 1 tbsp rice vinegar, 1 tsp soy sauce, and a pinch of sugar for balance. Add thinly sliced radishes for a peppery kick. The acidity refreshes your palate between bites. 🥗

Crispy Fried Plantains

For a tropical twist, serve fried plantains on the side. Slice 2 ripe plantains into ½-inch rounds, coat in cornstarch, and fry in oil at 350°F until golden and caramelized. Their natural sweetness complements the savory stew beautifully. I love adding a sprinkle of flaky sea salt for contrast. 🍌

Spicy Chili Sauce

Add a kick with a homemade chili sauce made from 1 tbsp tomato paste, 1 tsp sriracha, and 1 tsp fish sauce. Simmer for 5 minutes until thickened, then drizzle over the stew. This sauce enhances the dish’s umami without overpowering it. Store leftovers in the fridge for up to 1 week. 🌶️

Warm Crusty Bread

No Filipino meal is complete without crusty bread to scoop up the stew. Toast a baguette or pandesal until golden, then serve alongside. The bread’s crunch contrasts the stew’s silky texture, making every bite more satisfying. I keep a loaf in the freezer for quick reheating. 🥖

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 24g120%
Cholesterol 240mg80%
Sodium 1250mg54%
Total Carbohydrate 32g11%
Dietary Fiber 6g21%
Sugars 8g
Protein 42g84%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I make this stew without annatto seeds?

If you can't find annatto, use ½ teaspoon turmeric for color or ¼ teaspoon saffron threads for a golden hue. The flavor won't be identical, but the dish will still be delicious. The annatto gives that signature Bicol color, but the spices and coconut milk will keep it rich and flavorful.

2

How do I prevent the eggs from sticking to the bottom?

Make sure the stew is at a gentle simmer (not boiling) when adding eggs. Use a spoon to create wells and gently crack eggs into them. Cover the pot and cook on low heat for 5-7 minutes—the eggs should float freely. If they stick, they were cooked too long or the heat was too high.

3

Can I substitute chicken or pork for the beef?

While traditional Bicol Express uses beef, you can adapt it! For chicken, use bone-in thighs (they stay juicier) and reduce cooking time to 30-40 minutes. For pork, pork shoulder works well but may need 1.5 hours of simmering. The coconut milk will still create a rich sauce, but the meat's texture will differ.

4

Why does my stew taste too salty?

Fish sauce is the most likely culprit—start with 1 tablespoon and adjust to taste. If it's still too salty, dilute with ¼ cup water or coconut milk and simmer for 5 minutes. For future batches, taste the broth before adding all the salt or fish sauce. The annatto and garlic will help balance flavors.

5

How long can I store leftovers?

Store in an airtight container in the fridge for up to 5 days. For freezing, remove the eggs before storing (they firm up when reheated) and freeze the stew for up to 3 months. To reheat, warm on low heat with a splash of water or coconut milk—never microwave directly from frozen.

★★★★★4.9(7 reviews)
Categories Soups & Stews