Soups & Stews
This beef laksa soup recipe delivers the aromatic, crispy-edged perfection of Malaysian street food in your own kitchen. The secret lies in the fragrant lemongrass-coconut broth, tender beef, and signature crispy celery crowns that add irresistible texture.
I've perfected this version after years of balancing the complex flavors—spicy, tangy, and rich—while keeping the preparation accessible for home cooks.
The foundation is a deeply aromatic broth infused with lemongrass, galangal, and kaffir lime leaves, simmered until the coconut milk creates a velvety base. Thinly sliced beef cooks until fork-tender, absorbing the bold flavors, while the crispy celery crowns provide that essential crunch.
What makes this recipe special is how it transforms simple ingredients into a restaurant-quality bowl of soup that feels like a hug in every spoonful.
By the time you finish assembling your bowl with vermicelli noodles, fresh herbs, and a squeeze of lime, you'll have a dish that's as visually stunning as it is delicious.
The crispy celery crowns add a satisfying contrast to the creamy broth, while the balance of spice and tang creates the perfect harmony. This is comfort food at its finest—warm, flavorful, and impossible to resist.
Perfect for feeding a crowd or meal prepping for the week, this beef laksa soup recipe scales beautifully. The flavors only deepen as it sits, making it even more rewarding the next day. Let's get cooking!
Ingredients for beef laksa soup
Six aromatic ingredients transform into this restaurant-style beef laksa—crispy, creamy, and packed with Malaysian soul.
| Ingredient | Amount | Notes |
|---|---|---|
| Thinly Sliced Beef Chuck Roast 🥩 | 1 ½ lb | Cut against grain for tenderness |
| Fresh Lemongrass Stalks 🌿 | 6 whole | Bruised and cut into 2-inch pieces |
| Galangal Root 🍠 | ½ lb | Peeled and sliced thin |
| Kaffir Lime Leaves 🍋 | 4 whole | Torn into strips |
| Celery Stalks 🧅 | 3 whole | For crispy crowns |
| Full-Fat Coconut Milk 🥥 | 2 cans | 13.5 oz each, premium brand |
| Red Curry Paste 🌶️ | 3 tbsp | High-quality, fresh or jarred |
| Fish Sauce 🍶 | 2 tbsp | Red Boat preferred |
| Shrimp Paste 🦐 | 1 tbsp | Optional for extra umami |
| Vermicelli Rice Noodles 🍜 | 8 oz | Dried, medium-width |
| Thai Bird's Eye Chilies 🌶️ | 4 whole | Seeds removed for mild heat |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Fresh Cilantro 🌿 | ½ cup | Chopped for garnish |
| Fresh Thai Basil 🌿 | ¼ cup | Lightly bruised |
| Vegetable Oil 🫒 | ¼ cup | For crispy celery |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| White Peppercorns 🌶️ | ½ tsp | Freshly ground |
The galangal and lemongrass are non-negotiable for that signature laksa aroma. Costco often sells galangal in the frozen section, but if you can't find it, Asian markets carry it fresh. Look for stalks with vibrant green leaves—those are the freshest. The beef should be chuck roast, cut thinly against the grain so it melts in your mouth. For the celery crowns, grab organic celery from the store—thicker stalks make the crispiest results. The coconut milk? Full-fat only—it's what gives that velvety texture. If you're using canned coconut milk, shake it well before opening.
No galangal? Extra ginger at double the amount works in a pinch, though it won't be identical. Running low on fish sauce? Soy sauce plus a splash of vinegar gets you close, but it won't have that same funky depth. The shrimp paste is optional but worth it if you can find it—Asian markets usually carry it in the refrigerated section. For the chilies, adjust to taste—Thai Bird's Eye are the hottest, but serranos work too. The vermicelli noodles should be medium-width for that perfect bite. If you can't find them, rice noodles are a decent swap, but they'll be slightly chewier.
This soup tastes even better the next day—3-4 days in the fridge, honestly. The noodles soften just right, and the flavors meld beautifully. For crispy celery crowns, fry them fresh and serve immediately—they lose their crunch fast. Store the broth separately if you're prepping ahead, then reheat with fresh noodles and crowns. The herbs should go in last—cilantro and Thai basil wilt fast, so add them right before serving. Freezes beautifully too—just thaw the broth and add fresh noodles and garnishes when ready.
Why You'll Love This Recipe
- No Knife Skills Needed: I swear by that mandoline for the beef—five minutes of slicing, and you’re done. No butchering required, just toss those chuck roast strips into the pot and let the broth work its magic.
- Taste Like a Secret: That first sip? Pure herbal punch from the galangal and kaffir lime leaves, brightened by lemongrass and a whisper of celery’s earthy crunch. It’s the kind of flavor that makes you close your eyes and sigh.
- Leftovers That Beg for More: This soup only gets better the next day as the beef tenderizes and the broth deepens. I freeze half the batch—perfect for lazy mornings or when unexpected guests show up.
- Budget-Friendly Luxury: A single beef chuck roast stretches across two meals, and those aromatic roots (lemongrass, galangal) last weeks in the freezer. Fancy flavors without the grocery shock.
Step-by-step instructions for beef laksa soup with crispy celery crowns
Here's how to build a rich, aromatic beef laksa with perfectly balanced flavors and that signature crispy celery crown.
Prepare the Crispy Celery Crowns
Cut the 3 whole celery stalks into 1-inch thick slices, keeping the leaves attached for garnish. Heat 0.25 cup vegetable oil in a large skillet over medium-high heat until shimmering. Arrange the celery slices in a single layer, cut-side down, and cook undisturbed for 3-4 minutes until golden brown and crispy.
Flip carefully and cook another 2-3 minutes until both sides are deeply browned. Transfer to a paper towel-lined plate to drain excess oil. These crispy crowns add texture contrast and visual appeal to your laksa. Keep them warm while you prepare the soup base.
Build the Aromatic Soup Base
In a large pot, combine 1.5 lb thinly sliced beef chuck roast, 6 whole lemongrass stalks (bruised and cut into 2-inch pieces), 0.5 lb peeled and sliced galangal root, and 4 whole kaffir lime leaves (torn into strips). Add 2 cups water and bring to a boil over high heat. Reduce heat to medium-high and simmer for 15 minutes to extract the maximum flavor from the aromatics.
Strain the mixture through a fine-mesh sieve, pressing gently on the solids to release all the juices. Discard the solids and return the fragrant liquid to the pot. Add 2 cans full-fat coconut milk, 3 tbsp red curry paste, 2 tbsp fish sauce, and 1 tbsp shrimp paste. Stir well and bring to a gentle simmer over medium heat. This is where all the complex flavors begin to meld together.
Cook the Beef and Season the Broth
Return the strained beef to the pot with the coconut milk mixture. Simmer gently for 20-25 minutes until the beef is tender and easily shreds with two forks. The broth should be rich and fragrant, with a deep golden color from the coconut milk and curry paste.
Season with 1.5 tsp salt and 0.5 tsp freshly ground white peppercorns. Taste and adjust the fish sauce - you want a balance of salty, sweet, and umami. If the broth seems too thick, add ½ cup hot water to reach your desired consistency. The soup should coat the back of a spoon but still be light enough to serve over noodles.
Prepare and Assemble the Noodles
While the soup simmers, prepare the 8 oz vermicelli rice noodles according to package instructions. Typically, this means soaking them in hot water for 5-8 minutes until pliable but still slightly firm. Drain and rinse briefly with cold water to stop the cooking process.
Divide the cooked noodles among 6 serving bowls. Ladle the hot beef laksa soup over the noodles, being generous with the broth. The noodles will absorb some of the rich flavors as they sit. Garnish each bowl with ¼ cup fresh cilantro, 1 tbsp fresh Thai basil, 2 crispy celery crowns, and a squeeze of lime juice. The acidity from the lime brightens all the rich flavors.
Serve with Fresh Herbs and Chili
Just before serving, add 4 whole Thai bird's eye chilies (seeds removed for mild heat) to each bowl. These can be adjusted to taste - leave them whole for a gentle heat or slice them for more intensity. The combination of the crispy celery, fresh herbs, and spicy chilies creates the perfect balance of textures and flavors in every bite.
This laksa should have a perfect harmony of creamy coconut, aromatic spices, tender beef, and bright citrus notes. The crispy celery crowns add that essential textural contrast that makes this dish truly special. Serve immediately while the noodles are warm and the broth is steaming hot.
Pro Tips For Making Beef Laksa Soup
- CHAR THE GALANGAL FIRST: I learned this the hard way—slicing galangal raw and watching it float uselessly in the broth. Lightly char the skin side of each slice over a gas flame (or under a broiler) for 30 seconds per side. The bitter, smoky notes deepen the whole soup—trust me, it’s the thing that separates good laksa from really good.
- SLICE THE LEMONGRASS LENGTHWISE: Those thick stalks hide their power. Split them open and scrape out the soft inner pith, then chop the tough outer layers into 1-inch chunks. Toss the pith into the broth first—it infuses faster and gives that bright citrusy backbone without turning to mush. (Yes, even if you’re impatient like me.)
- SEAR THE BEEF IN BATCHES: Crowding the pan turns your beef into sad, steamed strips instead of caramelized slices. Work in two batches over medium-high heat, letting each get a deep golden crust before adding more. The Maillard reaction here is non-negotiable—it’s what makes the soup taste like it’s from a street stall, not a weeknight.
- RESERVE THE BROTH EARLY: Strain the broth through a fine-mesh sieve before adding noodles or toppings, and keep half of it separate. Thin out the final soup with water if needed, but that reserved broth? Use it to adjust seasoning—it’s got all the aromatic layers already built in. (Your future self will thank you when you’re not scrambling to fix a bland bowl.)
Dietary considerations for these flavors
Gluten-Free Adaptations
The traditional beef laksa recipe is naturally gluten-free, thanks to its fresh ingredients and absence of wheat-based components. However, always double-check your fish sauce and curry paste labels—some brands may contain hidden gluten from soy sauce or wheat fillers.
I recommend Red Boat fish sauce and Maesri brand curry paste, both certified gluten-free. For extra precaution, use a dedicated fryer or oil for the crispy celery crowns if sharing a kitchen with gluten-containing foods. 🌱
Dairy-Free Considerations
This recipe is inherently dairy-free, as it relies on coconut milk for creaminess rather than traditional dairy products. The full-fat coconut milk provides a rich, velvety texture without any lactose or casein.
For those with coconut allergies, you could substitute with cashew cream (blended soaked cashews with water) or oat milk (though texture will differ slightly). The crispy celery crowns and fresh herbs remain dairy-free components, ensuring a safe and delicious option for all guests.
Spice Level Control
Adjusting the heat is simple with this recipe. For milder versions, remove seeds from Thai bird's eye chilies and serve them whole on the side. If you prefer extra spice, slice the chilies or add ½ tsp cayenne pepper to the broth.
I keep a small bowl of sweet chili sauce (like Sriracha or Thai chili jam) on hand to balance heat for those who want it. The lime juice also helps cut through spiciness—just add a little more at the table. 🌶️
Vegetarian Options
Swap the beef for mushrooms (shiitake or oyster) or tofu for a meat-free version. I like using extra-firm tofu pressed and pan-seared until crispy to mimic the beef's texture. Boost umami with an additional 1 tbsp soy sauce or 1 tsp miso paste.
The broth remains rich and flavorful, though the protein content will differ. Garnish with extra herbs to keep the dish vibrant and satisfying.
Low-Carb Adaptations
For a lower-carb version, replace the vermicelli noodles with shirataki noodles (made from konjac) or zucchini noodles. Both options absorb the broth beautifully while reducing carbohydrate content. The crispy celery crowns and beef provide satisfying textures without relying on noodles.
Just note that shirataki noodles need thorough rinsing and a quick sauté in the broth to remove any residual odor. 🥦
Allergen-Friendly Tips
This recipe is seafood-free, but if shrimp paste is a concern, simply omit it—the fish sauce provides ample umami. For nut allergies, avoid coconut milk substitutes containing almonds or cashews. Always use separate utensils and fryers when preparing crispy celery crowns if allergies are present.
I keep a small container of rice flour** on hand for thickening broths if needed, as it's a common gluten-free alternative. Double-check all ingredient labels before starting—safety first!
Nutrition facts
Frequently asked questions
What's the secret to making the broth taste authentic?
The magic happens with the aromatic trio: lemongrass, galangal, and kaffir lime leaves. Bruise the lemongrass and slice the galangal thinly to maximize flavor extraction during the 15-minute simmer. Don't skip the shrimp paste—it adds that unmistakable umami depth. The coconut milk should be full-fat for that rich, velvety texture, and simmering it gently prevents curdling.
Can I make this recipe without shrimp paste?
Shrimp paste is optional but adds incredible depth. For a substitute, use 1 extra tbsp fish sauce or 1 tsp miso paste to maintain umami. The broth will still be delicious—just slightly less complex. If you're sensitive to seafood flavors, omit it entirely and rely on the fish sauce and coconut milk for richness.
How do I adjust the spice level for kids?
For milder versions, remove seeds from Thai bird's eye chilies and serve them on the side. You can also reduce the curry paste to 2 tbsp instead of 3 tbsp. The coconut milk naturally balances heat, and a squeeze of lime at the table helps cool the palate. Keep the crispy celery crowns separate if your little ones prefer no spice at all.
Why are my celery crowns not crispy?
Crispy celery requires medium-high heat and patience. Make sure your oil is hot enough—it should shimmer before adding the celery. Cook undisturbed for 3-4 minutes per side until deep golden brown. Using organic celery with thicker stalks helps too. If they lose crispness while waiting, reheat them in a dry skillet for 1-2 minutes before serving.
Can I prep this ahead of time?
This soup tastes even better the next day! Store the broth separately in the fridge for up to 4 days. Reheat gently, then add fresh noodles and crispy celery crowns (fry fresh before serving). The herbs should go in last—cilantro and Thai basil wilt quickly. For meal prep, portion the noodles and keep them in a separate container until ready to assemble.
