Bulalo Soup Recipe: Slow-Braised Beef with Malunggay and Potatoes

Soups & Stews

Bulalo Soup Recipe: Slow-Braised Beef with Malunggay and Potatoes

Creating an authentic bulalo soup recipe means slow-cooking beef shank until it's melt-in-your-mouth tender, surrounded by hearty vegetables and a rich, savory broth. This Filipino classic transforms tough cuts into luxurious bites, all while infusing the kitchen with an irresistible aroma that feels like home.

The secret lies in patience—hours of gentle simmering unlock the deep, caramelized flavors that define this dish.

What sets bulalo apart is its perfect balance of textures: succulent beef shank, crispy marrow bones, and tender vegetables like malunggay (morning glory) and potatoes. The broth develops layers of umami from slow-cooked bones, while aromatic spices like bay leaves and ginger add depth without overpowering.

This isn't just soup—it's a celebration of Filipino comfort food that brings people together.

The result is a steaming bowl of velvety broth filled with fork-tender beef, crispy marrow, and vibrant vegetables—each bite delivers a symphony of textures and flavors. The malunggay adds a subtle earthiness, while the potatoes soak up the rich broth, creating a dish that's both hearty and deeply satisfying.

Serve it with steamed rice and atchara (pickled papaya) for the full experience.

This recipe delivers restaurant-quality bulalo in your own kitchen, with step-by-step guidance for achieving that signature tender beef and fragrant broth. Whether you're preparing for a family gathering or simply craving a taste of home, this method ensures every spoonful is packed with flavor and tradition. Let's get cooking!

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

Ingredients for bulalo soup

Authentic bulalo relies on premium beef shank, aromatic vegetables, and slow-simmered broth for restaurant-quality results.

Ingredient Amount Notes
Beef Shank 🥩 3 lb Cut into 2-inch chunks, bone-in preferred
Beef Marrow Bones 🦴 4 whole For crispy marrow and rich broth
Malunggay Leaves 🌿 2 cups Fresh, washed thoroughly (substitute spinach)
Russet Potatoes 🥔 2 lb Cut into 1.5-inch chunks, skin-on
Yellow Onions 🧅 2 whole Quartered, outer layers removed
Garlic Cloves 🧄 8 cloves Minced, for aromatic base
Fresh Ginger 🌿 1 inch Sliced thin, peeled
Bay Leaves 🍃 4 whole Dried, for depth of flavor
Salt 🧂 2 tsp Diamond Crystal kosher salt
Black Peppercorns 🌶️ 1 tsp Coarsely crushed
Soy Sauce 🍶 ¼ cup Filipino-style preferred
Water 💧 8 cups Filtered for best flavor
Extra-Virgin Olive Oil 🫒 2 tbsp For initial searing
White Wine Vinegar 🍋 1 tbsp For brightness

The beef shank should have visible marbling for optimal tenderness. Local butcher shops often carry the best cuts—ask for bone-in shanks with crispy marrow bones. Malunggay leaves can be tricky to find outside Filipino markets; Asian grocery stores like 99 Ranch or H Mart usually stock them fresh. If unavailable, spinach or bok choy works as a reasonable substitute, though the earthy flavor differs slightly. For the potatoes, Russet variety holds up best during long simmering—avoid waxy potatoes like red or fingerlings, which can turn mushy.

No soy sauce? Coconut aminos or tamari provide a similar umami depth, though Filipino-style soy sauce delivers that authentic touch. Substituting wine vinegar? Apple cider vinegar works in a pinch, but the slight sweetness may alter the balance. Fresh ginger is non-negotiable here—dried loses its pungency. For the bay leaves, California or Mexican varieties have the most robust flavor. The water should be room temperature to prevent shocking the meat during initial searing. If you're short on time, beef broth can replace half the water, but the homemade version builds more complex flavor.

This dish rewards patience—plan for 3-4 hours of simmering for maximum tenderness. The broth freezes beautifully for up to 3 months, though the marrow bones won't crisp again after reheating. Store leftovers in airtight containers with a thin layer of broth on top to preserve moisture. For serving, keep the malunggay leaves whole until the last minute to maintain their vibrant color. The potatoes can be prepped ahead and stored in cold water until ready to add to the pot, preventing premature browning.

❤️

Why You'll Love This Recipe

  • Slow-Simmer Magic: I’ll be real—this soup needs time, but the effort is worth it. Toss in beef shank and marrow bones, let them melt into the broth, and watch the flavors deepen. No fancy techniques, just patience and a pot.
  • Rich Without the Guilt: That marrow bone? Pure umami gold. It turns a simple broth into something luxurious, but honestly, it’s cheaper than takeout. The potatoes soak up the goodness, and the malunggay leaves add a fresh, herbal kick—no weird aftertaste, just pure comfort.
  • Leftovers That Beg for More: Between us, this soup only gets better after a day or two. The beef gets tenderer, the broth richer, and the potatoes? Perfectly soft. I make a double batch because I’ll be eating it for lunch the next three days—no sad, dry leftovers here.
  • Sunday Supper Hero: This is my go-to for gatherings. It feeds a crowd, pairs with rice, and feels special without being fussy. (Yes, even on a Tuesday night.) The onions caramelize naturally, and the malunggay leaves make it feel like a home-cooked hug—no one will guess it’s this easy.

Step-by-step instructions for bulalo soup

This traditional Filipino stew requires patience and precision for rich, velvety broth and tender beef.

1

Sear the Beef and Marrow Bones

Heat a heavy-bottomed Dutch oven over medium-high heat. Add the 2 tablespoons of extra-virgin olive oil and swirl to coat the bottom evenly. Place the 3 lb beef shank in the pot, cut side down, and sear undisturbed for 5 minutes until a deep golden crust forms. Flip the beef chunks and continue searing for another 3 minutes.

Remove the beef and set aside. In the same pot, add the 4 whole beef marrow bones and sear for 4 minutes per side until they develop a rich brown color. This initial searing creates the Maillard reaction, which forms the foundation of flavor in the broth. Any accumulated browned bits should remain in the pot—they'll dissolve into the broth later.

2

Build the Aromatic Base

Add the quartered 2 whole yellow onions, minced 8 cloves garlic, and sliced 1 inch fresh ginger to the Dutch oven. Cook over medium heat for 5 minutes, stirring occasionally, until the onions soften and become translucent. Add the 4 whole bay leaves and continue cooking for another 2 minutes until the garlic releases its pungent aroma.

Pour in the 0.25 cup soy sauce and 1 tablespoon white wine vinegar, scraping up any browned bits from the bottom with a wooden spoon. This deglazing step captures all the concentrated flavors you've built. Let the mixture simmer for 3 minutes until the soy sauce darkens slightly and the vinegar's sharpness mellows.

3

Simmer the Broth and Vegetables

Return the seared beef to the pot and add the 8 cups water. Bring to a gentle boil, then reduce heat to low, maintaining a bare simmer. Skim off any foam that rises to the surface during the first 10 minutes of cooking. Add the 2 tsp salt and coarsely crushed 1 tsp black peppercorns, stirring to dissolve the salt completely.

Add the 2 lb russet potatoes, cut into 1.5-inch chunks with skin on, and the 2 cups malunggay leaves. Partially cover the pot and let the soup simmer gently for 1 hour 30 minutes. The broth should reduce slightly, becoming rich and velvety. Check occasionally to ensure the water level doesn't drop below halfway up the potatoes.

4

Finish and Adjust Seasoning

After 1 hour 30 minutes, remove the marrow bones from the pot and crack them open with a mallet or heavy pan. Scoop out the marrow and return the cracked bones to the broth for another 15 minutes to infuse additional richness. Remove the bones completely and discard.

Taste the broth and adjust seasoning if needed. The soup should be well-seasoned with a balance of savory, slightly sweet, and umami flavors. If the broth is too thin, simmer uncovered for another 10 minutes to reduce slightly. If it's too thick, add up to 1 cup hot water to reach your desired consistency. The malunggay leaves should be tender but still vibrant.

👨‍🍳

Pro Tips For Making Bulalo Soup

  • Sear the Bones First: I learned this the hard way—skipping the sear means flavor floating away with the broth. Get your beef shank and marrow bones deep brown in a hot pot (no oil needed, just their own fat) before adding water. That crust locks in richness, so don’t rush it.
  • Cut Potatoes in Wedges: Russets break apart when boiled whole, turning your soup into a mushy mess. Cut them into 1-inch wedges—thick enough to hold shape but small enough to cook through fast. Toss them in last 15 minutes so they absorb broth instead of turning to glue.
  • Simmer, Don’t Boil: Bulalo needs a gentle dance, not a violent boil. Once the water covers the bones, reduce to the lowest heat where tiny bubbles just break the surface. Boiling toughens the meat and scatters marrow fat—this is how you get silky broth and tender shank.
  • Save the Malunggay Water: Those leaves pack iron and flavor, but don’t toss the water after rinsing. Strain them out, then add the rinsed leaves back into the broth for 10 minutes before serving. The residual nutrients and greens stay put—no wasted effort.

Best sauces and condiments for this bulalo soup

Classic Soy Sauce Finish

The signature touch for bulalo is a final splash of Filipino-style soy sauce—I use 1-2 tablespoons of Silver Swan or Lee Kum Kee just before serving. This adds that signature umami depth without overpowering the natural beef flavors.

The soy sauce should be added to individual bowls rather than the pot to control seasoning per serving. 🍶

Crispy Garlic Oil Drizzle

For an extra layer of flavor, fry 4 cloves minced garlic in 2 tablespoons neutral oil (like avocado oil) until golden brown. Strain out the garlic bits, then drizzle this fragrant oil over each bowl of bulalo.

The nutty, crispy garlic aroma elevates the dish instantly. I keep a small jar of this oil in my fridge for quick garnishing. 🧄

Spicy Atchara Pairing

No bulalo is complete without atchara—Filipino pickled papaya. The tangy, crunchy slices cut through the richness of the beef and broth. I serve ¼ cup atchara per bowl, either store-bought from Filipino markets or homemade with vinegar, sugar, and chili.

For extra heat, add ½ teaspoon calamansi juice to the atchara before serving. 🌶️

Fresh Herbs for Brightness

Just before serving, scatter 2 tablespoons chopped cilantro and 1 tablespoon chopped Thai basil over each bowl. These fresh herbs add a bright, aromatic contrast to the deep, savory broth. I also like adding 1 teaspoon fish sauce to the broth right before serving for an extra umami punch.

The herbs should be added at the last minute to preserve their vibrant color and freshness. 🌿

Creamy Coconut Milk Swirl

For a modern twist, stir ¼ cup coconut milk into the broth during the final 10 minutes of simmering. This creates a silky, velvety texture that complements the beef beautifully.

I recommend Thai Kitchen coconut milk for its rich, creamy consistency. The coconut flavor pairs surprisingly well with the earthy malunggay and savory beef. 🥥

Crispy Fried Shallots

For a textural contrast, fry ¼ cup sliced shallots in 1 tablespoon butter until golden and crispy. Sprinkle these over the finished soup just before serving. The shallots add a sweet, crunchy element that balances the hearty beef and soft vegetables.

I like to make a big batch and store them in an airtight container for up to 1 week. ✨

Nutrition facts

Servings 6
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 28g36%
Saturated Fat 12g60%
Cholesterol 210mg70%
Sodium 1150mg49%
Total Carbohydrate 42g15%
Dietary Fiber 6g21%
Sugars 6g
Protein 48g96%
* 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

Why does bulalo need such a long cooking time?

The slow simmering is essential to transform tough beef shank into melt-in-your-mouth tenderness. The 3-4 hour cooking time allows collagen in the bones and connective tissue to break down, creating a rich, velvety broth while keeping the meat juicy. This traditional method ensures every bite delivers maximum flavor and texture.

2

Can I substitute malunggay leaves if I can't find them?

Yes! While malunggay adds a unique earthy flavor, you can use 2 cups spinach or bok choy as substitutes. For a closer match, try 1 cup water spinach (available at Asian markets). The key is adding greens late in cooking to preserve their vibrant color and texture.

3

What's the best way to store leftover bulalo?

Store in airtight containers with a thin layer of broth on top to preserve moisture. The soup keeps well in the fridge for 4-5 days or freezes for up to 3 months. Reheat gently on low heat, adding a splash of water if needed to restore broth consistency.

4

How can I make the broth richer without marrow bones?

Add 2 beef knuckle bones or 1 lb beef short ribs instead for deeper flavor. For extra richness, simmer 1 cup beef bone broth with the vegetables during the last 30 minutes of cooking. The gelatin release from bones creates that signature velvety texture.

5

Is bulalo traditionally served with rice?

Bulalo is always paired with steamed white rice to soak up the flavorful broth. For the complete experience, serve with atchara (pickled papaya) and crispy garlic oil drizzled on top. The rice helps balance the hearty beef and rich broth.

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