Soups & Stews
This beef arroz caldo recipe delivers the comforting warmth of Filipino home cooking with its fragrant coconut-lime broth and perfectly tender beef. The secret lies in slow simmering the beef until it practically melts in your mouth, while the rice absorbs all that rich, aromatic flavor.
I've perfected this version to balance traditional techniques with modern convenience—no shortcuts that sacrifice authenticity.
The dish begins with a base of ginger, garlic, and aromatic spices that form the soul of the broth, then builds layers of coconut milk and lime juice for that signature tangy-sweet balance.
What makes this recipe special is how the rice cooks directly in the broth, transforming it from simple grains into the heart of the soup. Every spoonful delivers tender beef, fluffy rice, and a broth so fragrant it'll have everyone asking for seconds.
By the time you're done, you'll have a steaming bowl of arroz caldo that's rich yet light, comforting yet vibrant—a perfect balance of textures and flavors. The beef remains fork-tender, the rice absorbs all that delicious broth, and the finishing touches of herbs add freshness that cuts through the richness.
This is the kind of dish that feels like a hug in a bowl, and it's easier to make than you might think.
Serve it with a side of crispy garlic fried rice or fresh steamed vegetables to round out the meal. The beauty of this recipe is its versatility—it's hearty enough for a cold day but light enough for lunch.
Let's get cooking and bring a taste of Filipino comfort to your table.
Ingredients for beef arroz caldo
These 14 ingredients transform into a bowl of Filipino comfort that's rich, tender, and full of aromatic warmth.
| Ingredient | Amount | Notes |
|---|---|---|
| Beef Chuck Roast 🥩 | 1 ½ lb | Cut into 1-inch cubes |
| Jasmine Rice 🍚 | 1 cup | Uncooked, long-grain preferred |
| Coconut Milk 🥥 | 1 can | 13.5 oz can, full-fat preferred |
| Fresh Ginger 🧄 | 2 tbsp | Finely grated, peeled |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Onion 🧅 | 1 whole | Yellow or white, chopped |
| Lime Juice 🍋 | ¼ cup | Freshly squeezed |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Bay Leaves 🌿 | 2 whole | Dried, crushed slightly |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Vegetable Oil 🫒 | 2 tbsp | For searing beef |
| Soy Sauce 🍶 | 1 tbsp | Regular or light |
The beef is everything here—chuck roast stays tender while absorbing all that coconut-lime goodness. Grab a 1.5 lb piece from the butcher section, or pre-cubed from Costco> if you're short on time. Fresh ginger and garlic? Asian markets usually have better quality than the grocery store, but use what you've got. The coconut milk should be full-fat for that creamy texture—Thai Kitchen brand is my go-to, but any canned variety works. Look for bright yellow onions with crisp edges, and limes that feel heavy for their size (that means juicy!).
No fresh ginger? Powdered works at half the amount, but it lacks that bright punch. Short on lime juice? Lemon juice plus a pinch of sugar gets you close. The soy sauce adds depth—Kikkoman or Diamond brand are reliable. Want to make it dairy-free? Skip the coconut milk and use extra chicken broth plus a splash of coconut water for a lighter broth. The cilantro is optional but adds that fresh finish—dried oregano at half the amount works if you're out.
This reheats beautifully—just add a splash of water or broth to keep it moist. Keeps for 4-5 days in the fridge, freezes for 3 months if you want to prep ahead. I always make a double batch because it tastes even better the next day as all the flavors meld together. Store leftovers in airtight containers with a layer of oil on top to preserve freshness.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—just brown the beef, toss in everything else, and walk away. The rice steams in the same pot as the broth, so no fussing with separate pans or timers. Honestly, my lazy Sundays thank me every time.
- Rich Without Effort: That coconut milk turns the broth into pure velvet, while the ginger and garlic add layers without overpowering. The beef? So tender it melts, but still holds its shape—like a hug in a bowl.
- Leftovers That Beg for More: This dish actually improves the next day. The flavors meld, the rice gets that perfect chewy bite, and I’ve reheated it three times in a row with zero complaints. (Yes, even from my picky teenager.)
- Budget-Friendly Feast: A single chuck roast stretches for four servings, and the rest of the ingredients cost pennies. I’ve fed a crowd for under $15, and no one ever guesses it’s this affordable. That’s the kind of secret recipe I’ll share.
Step-by-step instructions for beef arroz caldo
Here's how to make this comforting Filipino rice dish with rich coconut-lime broth.
Sear the Beef for Maximum Flavor
Heat a large pot over medium-high heat and add the 2 tablespoons vegetable oil. Once shimmering, add the 1.5 lb beef chuck roast cut into 1-inch cubes and sear for 4-5 minutes until the pieces turn deep golden brown on all sides. This step develops deep, caramelized flavors that form the base of your broth.
Work in batches if needed to avoid overcrowding the pot—this ensures each piece gets properly browned. Once seared, transfer the beef to a plate and set aside. You'll notice the pot has beautiful browned bits at the bottom—these are pure flavor, so don't wipe them out.
Build the Aromatic Base
In the same pot, add the 1 whole onion chopped, 6 cloves garlic cloves minced, and 2 tablespoons fresh ginger finely grated. Cook over medium heat for 3-4 minutes until the onion becomes translucent and the garlic and ginger release their fragrant aromas—you'll smell that wonderful combination of sweet, spicy, and earthy notes.
Here's the thing—don't rush this step. The aromatics should soften but not brown. If they start to darken too quickly, reduce the heat slightly. After about 3 minutes, add the 1 tablespoon soy sauce and stir to combine. This adds umami depth that balances the other flavors perfectly.
Simmer the Broth and Cook the Rice
Pour in the 4 cups chicken broth and bring the mixture to a gentle boil. Once boiling, reduce the heat to low-medium and add the 1 cup jasmine rice, 2 whole bay leaves, 1.5 teaspoons salt, and 0.5 teaspoon ground black pepper. Stir gently to distribute the rice evenly throughout the broth.
Simmer uncovered for 15 minutes while you prepare the coconut-lime mixture. You'll notice the rice begins to absorb the broth and the liquid reduces slightly. This initial simmering time is crucial—it allows the rice to partially cook while developing flavor from the broth.
Add Coconut Milk and Lime for Creamy Tang
After 15 minutes, gently stir in the 1 can coconut milk and 0.25 cup lime juice. The coconut milk should blend smoothly with the broth, creating a naturally creamy texture without clumping. The lime juice adds a bright, citrusy tang that cuts through the richness of the coconut and beef.
Here's where it gets good—the combination of coconut and lime creates that signature Filipino flavor profile. Give it a taste at this point. You want the broth to be flavorful but not overly acidic. If it needs more balance, add a pinch more salt or a splash more lime juice to your preference.
Finish and Rest for Perfect Texture
Return the seared beef to the pot and gently stir to combine. Cover and simmer over low heat for an additional 20-25 minutes until the rice is tender and the beef is fork-tender. The rice should be cooked through but still have a slight bite—this is the perfect al dente texture for arroz caldo.
Once done, remove from heat and let it rest covered for 5 minutes. This resting period allows the flavors to meld completely and the rice to absorb any remaining broth. Before serving, garnish each bowl with 0.25 cup chopped fresh cilantro. The contrast of fresh herbs against the rich broth adds a final bright note to this comforting dish.
Pro Tips For Making Beef Arroz Caldo
- Sear the Chuck First: That beef chuck roast won’t melt in your mouth if you skip this step—crank your pan to medium-high and let it brown for 5-6 minutes per side until deep golden. I learned this the hard way when my first batch tasted like it had been simmered in water instead of flavor.
- Slice Ginger Thin: No, your chef’s knife isn’t the problem—you’re probably chopping too thick. Use a mandoline or rock your knife back and forth for paper-thin slices. Thin ginger infuses faster and doesn’t turn to mush after 30 minutes of simmering.
- Don’t Rush the Rice: The broth will be ready before the rice, and that’s okay—just cover the rice pot and let it steam off the heat for 5 minutes. I know, I know, you’re eager to eat, but skipping this step leaves you with dry grains instead of fluffy, melt-in-your-mouth jasmine.
- Use Two Cans of Coconut Milk: One can is for flavor, but two guarantee that creamy, velvety finish. Split one full-fat can and one light can for balance—full-fat for richness, light for body without heaviness. (Yes, even if you’re impatient like me.)
Common mistakes when making your beef arroz caldo
Overcooking the Beef
I've seen this happen more times than I can count—beef that turns out tough instead of tender. The key is patience: simmer the beef at low heat for 20-25 minutes after adding it back to the pot.
If you rush this step or crank the heat too high, the beef will toughen up. Use a meat thermometer to check for 165°F internal temperature—that's the sweet spot for fork-tender beef. 🌡️
Skipping the Sear
Don't skip searing the beef! Those golden-brown bits at the bottom of the pot are flavor bombs that build the base of your broth. If you're short on time, at least brown the beef in a separate pan before adding it to the broth.
I've tried making arroz caldo without searing, and it's like comparing a symphony to a single note—just not the same depth of flavor.
Using Low-Quality Coconut Milk
The coconut milk makes or breaks this dish. I recommend Thai Kitchen brand or any full-fat canned coconut milk—it creates that creamy texture without clumping. Light or watered-down versions will make your broth thin and flavorless.
If you're dairy-free, use extra chicken broth plus a splash of coconut water for a lighter alternative that still delivers on flavor.
Ignoring the Resting Time
This is a common mistake that throws off the texture. After cooking, let the arroz caldo rest covered for 5 minutes before serving. This resting period allows the rice to absorb any remaining broth and the flavors to meld completely.
Skipping this step means you'll end up with slightly dry rice and uneven flavor distribution. Trust me, those 5 minutes make all the difference. ⏰
Overcrowding the Pot
When searing the beef, don't overcrowd the pot. Cook in batches if needed to ensure each piece gets properly browned. Overcrowding steams the beef instead of searing it, which means you lose that beautiful caramelized crust that adds so much depth to the broth.
A large pot with high sides is ideal for this recipe—it gives you enough room to work without overcrowding.
Not Balancing Flavors
The magic of arroz caldo lies in balancing the coconut's creaminess with lime's tang and soy sauce's umami. Taste your broth before serving and adjust as needed. If it's too rich, add more lime juice or a pinch of salt.
If it's too acidic, stir in a little more coconut milk. I often adjust the seasoning right before serving so I can tailor it to my family's preferences. This dish is all about that perfect harmony of flavors. 💫
Nutrition facts
Frequently asked questions
Can I use chicken instead of beef in this arroz caldo?
Swap the beef for 1.5 lb boneless chicken thighs or breasts and reduce simmering time to 15-20 minutes total. Chicken cooks faster than beef, so check for 165°F internal temperature and adjust seasoning since chicken has a milder flavor profile. The coconut-lime broth will still shine with either protein.
What's the secret to making the broth extra flavorful?
Three key tricks: 1) Sear the beef until deeply browned for rich fond flavors, 2) Use fresh ginger and garlic (not powdered) for bright aromatics, and 3) Toast the rice in the pot for 1-2 minutes before adding liquid to develop nutty notes. For extra depth, add 1 star anise pod or 1-inch cinnamon stick while simmering.
How do I make this recipe dairy-free?
Replace the coconut milk with 1 cup extra chicken broth plus 2 tbsp coconut water for creaminess. Add 1 tsp cornstarch mixed with 2 tbsp water to thicken the broth slightly. The lime and soy sauce will still provide that signature tangy-savory balance without dairy.
Can I prepare this ahead of time?
This dish actually tastes better the next day! Cook it fully, then refrigerate in an airtight container for up to 4-5 days. Reheat gently on low heat with a splash of water or broth. For freezing, store portions for up to 3 months—just thaw overnight in the fridge before reheating.
What's the best way to serve arroz caldo?
Serve it steaming hot in bowls with extra lime wedges and chopped green onions on the side. For a complete meal, pair with garlic fried rice or steamed bok choy. The contrast of crispy fried rice with the creamy soup creates the perfect balance.
