Main Courses
This bulalo pork recipe brings the soul of Filipino comfort food to your table—where tender beef shank simmers until melt-in-your-mouth perfection, cradled in a rich, savory broth. 🔥 I first tasted it in Manila’s bustling carinderias, where the aroma of garlic, ginger, and slow-cooked meat drew crowds.
That memory stuck with me, especially the crispy celery crowns that add a satisfying crunch to every spoonful.
The secret lies in the slow simmer—at least 3 hours—that transforms tough beef shank into fork-tender slices. We’ll build flavor with garlic, ginger, and onion, then finish with a splash of vinegar for brightness.
The celery, blanched and fried until golden, becomes the star garnish, offering a textural contrast that makes this dish unforgettable.
What you’ll end up with is a steaming bowl of restaurant-quality bulalo, where every bite delivers melt-in-your-mouth beef, velvety broth, and that addictive crunch.
Serve it with steamed rice to soak up every last drop of that aromatic sauce—it’s the kind of meal that feels like a hug on a plate.
Whether you’re cooking for family gatherings or a cozy weeknight dinner, this recipe scales beautifully. For modern kitchens, I’ll share a slow-cooker adaptation that keeps all the tradition without the stove time. Let’s get started on this Filipino classic!
Ingredients for bulalo pork
The heart of Filipino comfort food: tender beef, aromatic broth, and crispy celery crowns—just these ingredients transform your kitchen into a Manila carinderia.
| Ingredient | Amount | Notes |
|---|---|---|
| Beef Shank 🥩 | 3 lb | Bone-in for maximum flavor |
| Yellow Onion 🧅 | 1 whole | Thinly sliced for even cooking |
| Garlic Cloves 🧄 | 8 cloves | Minced for aromatic depth |
| Fresh Ginger 🌿 | 2 tbsp | Grated, not powdered |
| Celery Stalk 🥬 | 2 whole | Cut into 3-inch pieces |
| Canola Oil 🫒 | ½ cup | High smoke point for frying |
| Chicken Broth 💧 | 6 cups | Low-sodium preferred |
| Tomato Paste 🍅 | 2 tbsp | Squeeze tube for convenience |
| Cane Vinegar 🍶 | 2 tbsp | White or apple cider |
| Bay Leaves 🍃 | 2 whole | Dried, for subtle flavor |
| Black Peppercorns 🌶️ | 1 tsp | Crushed, not ground |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Steamed White Rice 🍚 | 3 cups | Cooked, for serving |
The beef shank is non-negotiable here—look for bone-in cuts at your butcher or the meat department. Costco or Whole Foods usually carry the best quality, but even your local grocery store's frozen section works in a pinch. If you can't find beef shank, pork shoulder in a pinch (though purists will argue it's not traditional). The celery needs to be fresh—no limp stalks—so grab the crispest bunch you can find. Trader Joe's often has great organic celery if you want to splurge. For the ginger, fresh is mandatory—powdered lacks that bright, zesty kick.
No beef shank? Pork shoulder or even brisket will work, though the texture won't be identical. Running low on chicken broth? Beef broth or even water with bouillon cubes keeps the dish from falling flat. The tomato paste can be skipped if you're avoiding it, but add an extra splash of vinegar for brightness. For the celery crowns, if you can't find thick stalks, use regular celery and double the amount—just make sure they're blanched properly before frying. The vinegar is key—white or apple cider both work, but avoid balsamic as it can overpower the delicate flavors.
This dish tastes even better the next day as flavors meld. Store the broth and beef separately in the fridge for up to 4 days, then reheat gently. The celery crowns? Best served fresh, but you can reheat them in the oven at 350°F for 5 minutes if needed. For meal prep, I portion the beef and broth into containers—freezes beautifully for 3 months. Just don't freeze the celery crowns; they lose their crunch. Serve with steamed rice straight from the pot for that authentic carinderia experience.
Why You'll Love This Recipe
- Foolproof Simplicity: The beef shank does most of the work—just sear it, simmer it, and let the slow cook turn tough meat into melt-in-your-mouth goodness. Between us, I’ve burned more than one pot of soup, but this? Even if you walk away, it’ll still taste amazing.
- Umami Bomb: That ginger and garlic combo? It’s like a flavor explosion in your mouth. The beef shank soaks up all the savory goodness, while the onions and celery add just enough brightness to keep it from getting too heavy.
- Leftovers That Beg for More: Honestly, I always make double. The broth gets richer overnight, and the meat? Even better the next day. Pack it for lunch or reheat for dinner—it’s the kind of dish that makes you feel like you’re eating at a restaurant.
- Budget-Friendly Feast: A single beef shank stretches for four servings, and the rest of the ingredients won’t break the bank. It’s my go-to when I need to feed a crowd without stressing over the grocery bill—plus, it’s the kind of meal that makes everyone at the table happy.
Step-by-step instructions for slow-simmered bulalo pork
Transform tough beef shank into melt-in-your-mouth perfection with this time-honored Filipino technique.
🔥 Step 1: Sear the Beef Shank for Deep Flavor
Heat the 0.5 cup canola oil in a heavy Dutch oven over medium-high heat until shimmering. Pat the 3 lb beef shank completely dry with paper towels—this ensures maximum browning. Working in batches if needed, sear the beef on all sides until deeply golden brown and crispy, about 5-7 minutes per side. Real talk: don't rush this step. The caramelized crust is what builds that rich, meaty depth in the final dish.
Once browned, remove the beef and set it aside. You'll notice the bottom of the pot has those beautiful browned bits—those are pure flavor. Don't clean them out; we'll deglaze with the aromatics next. Here's the thing—if your pan isn't hot enough, the meat will steam instead of sear. You want that sizzle and smoke smell to know you're on the right track.
🍳 Step 2: Build the Aromatic Base
In the same Dutch oven, add the 1 whole yellow onion (thinly sliced), 8 cloves garlic (minced), 2 tbsp fresh ginger (grated), and 2 whole celery stalks (cut into 3-inch pieces). Cook over medium heat for 5-6 minutes, stirring occasionally, until the vegetables soften and the garlic becomes fragrant. You'll see the colors deepen and the mixture reduce slightly—that's when you know the flavors are melding together.
Stir in the 2 tbsp tomato paste and cook for another 1 minute until it darkens slightly. This step develops the sauce's complexity. Next, add the 2 whole bay leaves, 1 tsp crushed black peppercorns, and 1.5 tsp salt. Give everything a good stir to distribute the spices evenly. The bay leaves will infuse subtle earthiness, while the peppercorns add a gentle warmth that cuts through the richness of the beef.
🥘 Step 3: Simmer the Beef in Flavorful Broth
Pour in the 6 cups chicken broth and the 2 tbsp cane vinegar. The vinegar might make you pause—it's not sour in the final dish, but it tenderizes the meat beautifully. Return the beef shank to the pot, making sure it's submerged. Bring everything to a gentle simmer over low heat, then reduce to a bare bubble. Here's where patience pays off: cover the pot and let it cook for 2.5 to 3 hours, maintaining a gentle simmer. You'll know it's ready when the beef is fork-tender and pulls away from the bone with minimal resistance.
I check for doneness by inserting a fork into the thickest part of the meat. If it slides in easily and the meat fibers pull apart cleanly, it's done. If not, give it another 30 minutes—the broth will continue to break down the collagen even after the meat reaches temperature. Real talk: don't skip this long cook. The slow simmer transforms tough connective tissue into silky, meltable goodness.
⏰ Step 4: Prepare the Celery Crowns and Finish
While the beef simmers, prepare the signature celery crowns. Cut the 2 whole celery stalks into 1-inch thick slices (leave the leaves attached). Blanch them in boiling water for 30 seconds, then shock in ice water to maintain their vibrant green color. This step is crucial—they should be crisp-tender, not mushy. Drain well and set aside.
Once the beef is tender, carefully remove it from the broth and set it aside. Skim off any excess fat from the surface of the broth, then return the beef to the pot. Increase the heat to medium-high and simmer uncovered for 10-15 minutes to reduce the sauce slightly and concentrate the flavors. The broth should coat the back of a spoon but still be saucy enough to coat the rice and beef. Taste and adjust the seasoning if needed—you might want to add a pinch more salt or a splash of vinegar for brightness.
🍽️ Step 5: Serve the Bulalo Pork Traditionally
Ladle the 3 cups steamed white rice onto plates, then arrange the beef shank over the rice. Ladle the rich broth generously over the top, ensuring every bite gets that luxurious sauce. Scatter the crisp-tender celery crowns around the plate—their bright color and crunch contrast beautifully with the dark, meaty broth. The traditional way to eat bulalo is to break off pieces of beef with your hands and dip them into the broth, using the rice to soak up every last drop of flavor.
This dish is all about the experience—warm, comforting, and deeply satisfying. The contrast of textures (tender beef, crisp celery, soft rice) and flavors (rich meat, tangy broth, bright vegetables) makes it unforgettable. Serve immediately while everything is steaming hot, and don't forget to pass the extra broth for dipping. You'll want to savor every bite of this labor of love.
Pro Tips For Making Bulalo Pork
- BLISTER THE SHANK FIRST: Hit the beef shank with a screaming-hot pan for 3-4 minutes per side before adding liquid—this seals the collagen and keeps the meat from turning mushy later. I learned this the hard way after serving rubbery bulalo to guests who still talk about it.
- PEEL GINGER WITH A KNIFE: Skip the spoon and use a paring knife to slice off the ginger’s skin in one clean strip—it’s faster and leaves the root intact for easier grating. My grandmother swore by this, and she was right: wasted ginger means wasted flavor.
- DON’T CROWD THE POT: If your beef shank isn’t fully submerged in broth, add water—not more liquid. Too much liquid dilutes the umami, and you’ll end up with soup instead of rich, velvety bulalo. I know, I know, but trust the process.
- CHAR THE ONIONS LOW: Caramelize the onions at 275°F (135°C) for 20-25 minutes until deep amber—this builds sweetness without burning. I was skeptical until I tried it: the difference between bland and deeply flavorful is that extra patience.
Flavor customization for this recipe
Spicy Heat Level
For those who love a kick, add 1-2 tbsp of sambal oelek (adjust to taste) to the broth during the final 10-minute reduction. The chili paste blends beautifully with the vinegar and beef, adding a smoky heat that cuts through the richness.
I like to serve this version with extra sliced jalapeños on the side for guests to add more heat as they please. 🌶️
If you prefer a milder version, reduce the vinegar to 1 tbsp and skip the sambal entirely. The natural sweetness of the beef and celery will shine through without overpowering the dish. Trust me, this version still packs enough flavor to satisfy even the pickiest eaters.
Citrus Brightness
Finish the dish with a splash of 1 tbsp fresh lime juice just before serving. The acidity cuts through the richness of the beef and adds a refreshing zing that makes every bite feel lighter.
I also garnish with cilantro leaves for a pop of color and freshness that balances the dish perfectly. 🍋
For a more intense citrus experience, add ½ cup orange juice to the broth during the final simmer. The sweetness complements the savory beef and pairs wonderfully with the vinegar. This twist is especially popular during summer months when fresh citrus is abundant.
Umami Boost
Enhance the depth of flavor by adding 1 tbsp fish sauce or 1 tsp soy sauce to the broth during the final 15 minutes of simmering. These umami-rich ingredients add a savory complexity that elevates the dish to new heights.
I often use Red Boat fish sauce for its clean, high-quality taste. 🍜
For a vegetarian-friendly umami boost, stir in 1 tbsp mushroom powder or 2 tbsp finely chopped dried shiitake mushrooms during the aromatic base step. This adds a rich, earthy depth without any meaty flavors, making it a great option for mixed company.
Herb Variations
Infuse the broth with 1 sprig of fresh thyme or ½ tsp dried thyme leaves during the simmer. The herbal notes add a subtle earthiness that pairs beautifully with the beef and celery. Remove the thyme sprigs before serving to avoid any bitterness. 🌿
For a more aromatic twist, add 1 cinnamon stick and 2 cloves during the simmer. These spices add warmth and complexity, especially if you're serving the dish with spiced rice. Remove them before serving to avoid any unwanted texture.
Slow Cooker Adaptation
Transform this recipe into a hands-off version by using a 6-quart slow cooker. After searing the beef shank and building the aromatic base in a skillet, transfer everything to the slow cooker.
Add the broth and vinegar, then cook on low for 8 hours or high for 5 hours. The slow cooker maintains the tenderness without requiring constant monitoring. 💫
For the celery crowns, prepare them as directed but fry them just before serving. The slow cooker method keeps the celery crisp and vibrant, ensuring that signature crunch remains intact. This adaptation is perfect for busy weeknights when you want to enjoy a restaurant-quality meal with minimal effort.
Nutrition facts
Frequently asked questions
Can I substitute beef shank with another cut of meat?
Yes, but the texture will differ. For best results, use pork shoulder (bone-in) or brisket—both work well though they won't be identical. If using pork, reduce simmering time to 2 hours since it cooks faster than beef. Chicken thighs can also work, but they'll be much lighter in flavor.
How do I make the broth less fatty?
Skim excess fat from the surface of the broth during simmering using a spoon or fat separator. For a leaner version, use low-fat chicken broth and trim all visible fat from the beef shank before cooking. The final broth should still have body but with less grease.
Can I prepare this ahead of time?
Bulalo tastes even better the next day. Store the broth and beef separately in airtight containers in the fridge for up to 4 days. Reheat gently on the stove, then crisp the celery crowns fresh before serving. For freezing, portion into containers (without celery) for up to 3 months.
What if my celery crowns turn out soggy?
This happens when they're over-blanched or fried too long. For crispy results, blanch for exactly 30 seconds and fry at 350°F for 2-3 minutes until golden. Keep them warm in a 200°F oven while serving. Pro tip: Use thicker celery stalks for better structure.
Is there a quicker stovetop version?
For a faster method, use a pressure cooker: Sear the beef, then pressure cook with broth for 45 minutes on high. The celery crowns still require separate preparation. This cuts cooking time by nearly half while keeping the flavors intact.
