Bakso Soup Recipe: Crispy Meatballs in Fragrant Spiced Broth

Soups & Stews

Bakso Soup Recipe: Crispy Meatballs in Fragrant Spiced Broth

This bakso soup recipe delivers the perfect balance of tender, crispy meatballs floating in a rich, aromatic broth that's been simmered just right. The secret lies in the meatballs—ground beef and pork blended with egg and flour, then poached until they achieve that signature crispy exterior while staying juicy inside.

Every spoonful of this comforting soup tells a story of Indonesian home cooking, where warm spices and tender ingredients come together in harmony.

The broth is where the magic happens, built from scratch with beef or chicken stock, ginger, garlic, and lemongrass, all simmered until the flavors meld into something deeply comforting.

I've perfected a method that ensures the broth stays clear and fragrant without overpowering the meatballs, while still delivering that rich, savory depth that makes this soup irresistible. The result is a bowl that's both hearty and light, perfect for chilly evenings or when you're craving something familiar yet special.

What sets this recipe apart is the technique for achieving those crispy meatballs without frying—just a quick poach followed by a light sear in the hot broth.

The meatballs maintain their texture while absorbing the broth's flavors, creating bites that are tender on the inside and satisfyingly crisp on the outside.

Serve it with rice noodles, fresh herbs, and a squeeze of lime for brightness, and you'll have a bowl of soup that feels like a warm hug.

This recipe is designed to be both traditional and adaptable—use it as a base to experiment with spicy broths, extra vegetables, or even modern twists like adding a splash of coconut milk.

The instructions are clear, the techniques are foolproof, and the result is a dish that's worth every minute of simmering. Let's get started on creating your own bowl of comfort.

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

Ingredients for bakso soup

Ground meats, aromatic broth, and crispy texture—this soup delivers comfort in every bite.

Ingredient Amount Notes
Ground Beef 🥩 ¾ lb 80% lean for juiciness
Ground Pork 🐷 ½ lb Freshly ground preferred
Large Eggs 🥚 2 whole Room temperature for blending
All-Purpose Flour 🌾 ½ cup For binding meatballs
Vegetable Oil 🫒 2 tbsp For poaching meatballs
Beef Stock 🍲 4 cups Homemade or high-quality
Chicken Stock 🍲 2 cups For lighter broth option
Fresh Ginger 🧄 1 tbsp Grated, aromatic base
Garlic Cloves 🧄 4 cloves Minced for depth of flavor
Lemongrass 🌿 1 stalk Bruised, for citrusy aroma
Soy Sauce 🥄 2 tbsp For umami richness
White Peppercorns 🌶️ ½ tsp Ground fresh for subtle heat
Salt 🧂 1 tsp Kosher or sea salt
Rice Noodles 🍜 8 oz For serving, uncooked
Fresh Cilantro 🌿 ¼ cup Chopped, for garnish
Lime Wedges 🍋 2 whole For serving

The meatballs are the heart of this soup, so quality matters. Ground beef and pork from the butcher counter (not pre-packaged) make all the difference—they stay juicier and crispier. Look for 80% lean beef to balance texture, and if you can't find fresh pork, pre-ground works in a pinch. The egg and flour blend is key: don't overmix, or the meatballs will get tough. For the broth, homemade stock is ideal, but Swanson or Pacific brand in a pinch delivers solid flavor. The lemongrass should be fresh—dried just won't cut it here.

No lemongrass? Substitute 1 tbsp lime zest plus 1 tsp lime juice—it won't be identical, but it adds brightness. Short on beef stock? Chicken stock plus 1 tbsp soy sauce works perfectly. The white peppercorns are crucial for that authentic bakso flavor—don't skip them. For extra crispiness, lightly toast the meatballs in oil for 30 seconds before adding to the broth. The rice noodles should be thin and translucent—Vietnamese or Thai brands work best, but any rice noodles will do in a pinch.

This soup tastes even better the next day as flavors meld. Store broth and meatballs separately in the fridge for 3-4 days—reheat gently to avoid breaking the meatballs. For longer storage, freeze the meatballs for up to 3 months and broth for 2 months. The noodles keep 1 week in a sealed container. Garnish with fresh cilantro and lime just before serving—never add lime to the broth, or it'll turn bitter.

❤️

Why You'll Love This Recipe

  • No-Fuss Mixing: I swear by the simplicity of this—just ground meat, eggs, and flour. No fancy techniques, no stress. The dough forms in minutes, and honestly? Even my kids can help roll it without turning it into a mess.
  • Meaty Magic Bites: That crispy exterior with the tender, juicy center? It’s the secret of the egg wash and hot oil. One bite, and you’ll understand why bakso is a comfort food staple—it’s ridiculously satisfying.
  • Crowd-Pleaser Flex: Serve it in bowls for a cozy dinner or pile it high on a plate for a casual lunch. Add rice, noodles, or even a side salad—it adapts to whatever you’re craving. (Yes, even on a Tuesday night.)
  • Budget Stretch: A single batch stretches for days—freeze the extra meatballs and toss them into soups later. Ground beef and pork are affordable, and the flour/egg combo makes it go further than takeout. My wallet thanks me every time.

Step-by-step instructions for bakso soup with crispy meatballs

Master the art of bakso with this precise method for meatballs that stay crispy and a fragrant broth that balances richness and brightness.

1

Prepare the Meatball Mixture

In a large mixing bowl, combine the 0.75 lb ground beef and 0.5 lb ground pork. I always use freshly ground meat for better texture and flavor. Add the 2 whole large eggs and mix gently with your hands until just incorporated—overmixing develops gluten and makes the meatballs tough.

Next, add the 0.5 cup all-purpose flour, 1 tsp salt, and 0.5 tsp ground white peppercorns. Mix again until the ingredients come together into a uniform, slightly sticky mixture. Here's the thing—don't overwork it. The dough should hold together when pressed but still be soft enough to shape easily. If it feels too dry, add 1-2 teaspoons of cold water to help bind it.

2

Form and Poach the Meatballs

Divide the meat mixture into 16 equal portions (about 1.5 tablespoons each). Roll each portion gently between your palms to form smooth, round meatballs—about 1.5 inches in diameter. Place them on a plate and refrigerate for 15 minutes to firm up slightly. This resting step prevents them from falling apart when you poach them.

Heat a large pot of water to 180°F—this gentle simmer is crucial for keeping the meatballs tender while developing a crispy exterior. Carefully add the meatballs in batches (don't overcrowd) and poach for 12-15 minutes until they float to the surface. This indicates they're fully cooked through. Remove them with a slotted spoon and drain on paper towels.

3

Build the Fragrant Broth

In the same pot, heat 2 tbsp vegetable oil over medium heat. Add the 1 tbsp grated fresh ginger and 4 minced garlic cloves, cooking for 1-2 minutes until fragrant but not browned. Add the 1 stalk lemongrass (bruised by pounding lightly with the side of your knife) and cook for another 30 seconds to release its citrusy aroma.

Pour in 4 cups beef stock and 2 cups chicken stock, bringing the mixture to a gentle simmer. Add 2 tbsp soy sauce and let the broth reduce by half—about 10-12 minutes—until it's rich and concentrated. The broth should smell deeply savory with hints of ginger and garlic. Strain out the lemongrass stalk before proceeding.

4

Create the Crispy Exterior

Return the poached meatballs to the simmering broth and cook for 5 minutes to reheat them. Here's where the magic happens: heat 1 tbsp vegetable oil in a separate skillet over high heat until shimmering. Working in batches, add the meatballs and cook for 1-2 minutes per side until they develop a golden, crispy crust. Transfer them back to the broth immediately—the residual heat will seal in their juices while maintaining that coveted texture.

Simmer the meatballs in the broth for another 5 minutes to meld the flavors. Taste and adjust seasoning with additional soy sauce or salt if needed. The broth should be flavorful but not overpowering—it should complement the meatballs, not compete with them.

5

Assemble and Serve

Cook the 8 oz rice noodles according to package instructions until al dente, then drain and rinse briefly with cold water to stop the cooking process. Divide the noodles among 4 bowls, then ladle the hot broth and crispy meatballs over the top. Garnish each serving with 0.25 cup chopped fresh cilantro and serve with the 2 lime wedges on the side.

For the best experience, serve immediately while the meatballs are still crispy and the broth is steaming hot. The contrast between the tender, juicy meatballs and their crispy exterior—paired with the fragrant, well-seasoned broth—makes this bakso soup truly unforgettable. The lime wedges add a bright finish that cuts through the richness, balancing every bite.

👨‍🍳

Pro Tips For Making Bakso Soup

  • Chill the Meat Mix: I learned this the hard way—warm ground meat sticks together like glue, making those tiny bakso balls fall apart when you drop them in boiling water. Pop the meat-egg-flour mix in the fridge for 15 minutes before shaping. Cold hands work better too, and the dough holds its shape like a dream.
  • Boil Water First: Sounds obvious, but I used to add the bakso to simmering broth and half the batch turned to mush. Heat your water or broth to a rolling boil first—think 180°F (77°C) or until it’s aggressively bubbling. The high heat seals the exterior instantly, locking in flavor and texture.
  • Skip the Overmixing: The second you start kneading that meat-egg-flour dough like pizza dough, you’re inviting chewiness. Mix just until combined—about 30 seconds—then fold gently. Overworking it turns your bakso into dense, rubbery meatballs instead of light, bouncy bites.
  • Use Cold Egg Whites: My grandmother swore by this, and she was right: separate the egg, chill the whites until they’re ice-cold, then whip them into stiff peaks before folding into the meat. The cold whites create air pockets that make your bakso fluffier—no one will guess you didn’t spend hours steaming them.

Perfect pairings for bakso soup

Noodle Pairings

This soup shines with rice noodles, but you can customize based on texture preferences. For chewier bites, use Vietnamese vermicelli noodles (like Thai Kitchen brand). For softer texture, opt for egg noodles—just increase cook time by 2 minutes.

I love serving it with thin rice stick noodles for that authentic Indonesian feel. 🍜

Vegetable Additions

Fresh vegetables brighten the broth and add texture. Try shredded cabbage (½ cup) or thinly sliced bok choy for crunch. For heat, add ½ cup bean sprouts—they wilt beautifully in the hot broth.

I also like tossing in 1 cup spinach in the last 2 minutes of cooking for a vibrant finish. 🥬

Protein Upgrades

Want extra protein? Add 1 cup sliced shiitake mushrooms (simmered for 5 minutes) or ½ lb firm tofu (pan-fried until crispy). For seafood lovers, 1 cup shrimp (cooked separately) adds a luxurious touch. Keep portions balanced—too much protein can overpower the delicate broth. 🦐

Toppings & Garnishes

Fresh herbs elevate every bowl. Chopped cilantro (¼ cup) and thinly sliced green onions add brightness. For crunch, sprinkle toasted sesame seeds or crushed peanuts. A drizzle of sweet chili sauce or sambal oelek (½ tsp) turns this into a spicy-sweet masterpiece. 🌿

Beverage Pairings

A jasmine iced tea (chilled with lemon) cuts through the richness perfectly. For something stronger, try a light Indonesian beer like Bintang or Singha. If you prefer non-alcoholic, mango limeade adds tropical contrast. Avoid heavy wines—they clash with the broth's delicate spices. 🍺

Make-Ahead Serving

Prep components ahead for stress-free serving. Cook noodles and store separately. Assemble bowls just before serving to maintain crispy meatballs. Reheat broth gently (don't boil) and sear meatballs fresh for that restaurant-quality crunch. Serve with lime wedges on the side—squeeze them tableside for maximum brightness. ✨

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 32g41%
Saturated Fat 12g60%
Cholesterol 145mg48%
Sodium 1120mg49%
Total Carbohydrate 42g15%
Dietary Fiber 2g8%
Sugars 3g
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 do the meatballs need to poach before frying?

Poaching first ensures the meatballs cook through evenly without drying out. The gentle 180°F water bath creates a tender interior, while the final sear in oil develops that signature crispy exterior. Skipping this step often results in tough meatballs or uneven cooking.

2

Can I make bakso soup vegetarian?

Replace the meat with 1 lb firm tofu or mushroom blend (cremini + shiitake). Use vegetable stock and add 1 tbsp soy sauce + 1 tsp miso paste for umami depth. The texture will differ, but the broth technique remains the same.

3

What's the best way to store leftover meatballs?

Store cooked meatballs in an airtight container in the fridge for 3-4 days or freeze for up to 3 months. To reheat, warm in broth over low heat (never microwave) and sear briefly in oil to restore crispiness. The broth keeps 4 days refrigerated separately.

4

Why does my broth turn cloudy?

Cloudiness usually means starches or proteins haven't settled. Strain the broth through a fine-mesh sieve after simmering, then skim any surface fat. For extra clarity, chill the broth overnight and remove congealed fat before reheating. The 10-12 minute reduction helps concentrate flavors while keeping it clear.

5

Can I use instant noodles instead of rice noodles?

While not traditional, you can use instant noodles in a pinch. Choose thin wheat noodles (like Indomie) for best texture. Cook them 1 minute less than package instructions, drain, and rinse with cold water. The flavor won't be identical, but it works for quick meals. For authenticity, stick with rice noodles.

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