Bakso Soup Recipe: Crispy Meatballs Floating in Rich, Spiced Broth

Soups & Stews

Bakso Soup Recipe: Crispy Meatballs Floating in Rich, Spiced Broth

This bakso soup recipe delivers the perfect balance of crispy meatballs and aromatic broth that will transport you to Indonesia with every spoonful. The secret lies in hand-rolling the meatballs to achieve that signature texture, while slow-simmering the spiced broth builds layers of flavor that make this soup unforgettable.

What sets this recipe apart is the combination of tender, juicy meatballs with a rich, spiced broth that's packed with coriander, cinnamon, and lemongrass. The broth simmers for hours to develop deep, complex flavors, while the meatballs achieve that perfect crispy exterior and tender interior through a precise cooking technique.

By the time you serve this soup, you'll have perfectly crispy meatballs floating in a fragrant, spiced broth that's both comforting and exciting.

The addition of chewy noodles, fresh vegetables, and optional toppings like fried shallots and chili sauce creates a complete dining experience that's as satisfying as it is delicious.

This recipe serves 4 and can be easily doubled for a crowd. The leftovers reheat beautifully, making it perfect for meal prep or when you want to enjoy bakso soup again the next day. Here's how to make it from start to finish!

👨‍🍳
Difficulty
Easy
🥩
Category
Meat
🔥
Calories
Med Cal

Ingredients for bakso soup

Crispy meatballs meet aromatic broth in this Indonesian-inspired masterpiece—just 15 ingredients transform into unforgettable flavor.

Ingredient Amount Notes
Ground Beef (80% lean) 🥩 1 ½ lb Freshly ground for texture
Large Eggs 🥚 2 whole Cold from refrigerator
Green Onions 🧅 ½ cup Finely chopped, white and green parts
Garlic Cloves 🧄 6 cloves Minced for aromatic base
Tapioca Flour 🌾 ½ cup For crispy meatball exterior
Coriander Seeds 🌿 1 tbsp Toasted for depth of flavor
Cinnamon Sticks 🌿 2 whole For slow-simmered broth
Lemongrass 🍃 1 stalk Bruised for citrusy aroma
Chicken Bouillon Cubes 🍲 2 cubes Knorr brand preferred
Coconut Milk 🥥 13 ½ oz Full-fat for richness
Vegetable Oil 🫒 ½ cup High smoke point preferred
Salt 🧂 1 ½ tsp Diamond Crystal preferred
White Pepper 🌶️ ½ tsp Freshly ground for heat
Egg Noodles 🍜 8 oz Fresh or dried preferred
Fresh Thai Basil 🌿 ¼ cup For garnish and freshness

The ground beef is non-negotiable—80% lean gives that perfect balance of juiciness and crispiness. Costco or your local butcher shop often have the best quality, but any grocery store's pre-ground will work. I always grab extra because it freezes beautifully. For the tapioca flour, Asian markets usually have it in bulk—look for the fine powder, not the pearl variety. The coriander seeds? Toast them in a dry pan for 30 seconds before grinding—game-changer for flavor. Fresh lemongrass is ideal, but if you can't find it, substitute 1 tbsp lemongrass paste (the kind in tubes).

No chicken bouillon? Vegetable bouillon cubes work too, just double the amount. The coconut milk must be full-fat—none of that light stuff. For the noodles, fresh egg noodles give the best texture, but dried works in a pinch. If you're making this ahead, cook the noodles last so they don't get mushy. The Thai basil can be swapped for regular basil, but it's worth hunting down at Asian grocery stores—the flavor is completely different. And here's a pro tip: save the stems for stock or stir-fries—they're packed with flavor too.

Store the meatball mix (before frying) in the fridge for 1 day or freeze for 1 month. The broth keeps for 5 days in the fridge or 3 months frozen. I always make extra broth—it's perfect for rice or as a base for other soups. The fried meatballs? Reheat in a dry pan for 2 minutes to restore crispiness. And if you're serving a crowd, double the meatball batch—they disappear fast!

❤️

Why You'll Love This Recipe

  • No-Fuss Dumplings: I swear by this method—just mix the ground beef, egg, and tapioca flour in a bowl, no fancy equipment. The secret’s in the garlic and green onions, finely minced so they melt into every bite without extra chopping.
  • Crispy-Creamy Magic: That tapioca flour gives the bakso a satisfying snap when you bite in, while the egg keeps them tender inside. Honestly, the contrast is what makes this soup ridiculously good—like a warm hug in a bowl.
  • Lunchbox Hero: Between us, this is my go-to for packed lunches. The soup reheats like a dream, and the bakso holds up perfectly. My kids dump the broth and eat the meatballs straight from the container—no complaints.
  • Budget Stretch: Ground beef and eggs are cheap staples, and a single batch feeds my family for days. I’ll be real: it’s the kind of meal that makes grocery money stretch without sacrificing flavor. (Yes, even on a Tuesday night.)

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

Here's how to craft restaurant-quality bakso with perfectly crisp exteriors and tender centers.

1

Prepare the Spiced Meatball Mixture

In a large bowl, combine the 1.5 lb ground beef (80% lean) with the 2 whole large eggs and 1.5 tsp salt. Use your hands to mix gently until just combined—overworking develops tough meatballs. Add the 0.5 cup finely chopped green onions and 6 cloves minced garlic, mixing until evenly distributed throughout the beef.

In a small skillet over medium heat, toast the 1 tbsp coriander seeds for 1-2 minutes until fragrant, then grind them lightly with a mortar and pestle. Add this to the beef mixture along with the 0.5 cup tapioca flour and 0.5 tsp white pepper. The tapioca flour creates that signature crispy exterior, so don't skip it. Mix until the dough comes together—it should hold its shape when pressed but still be slightly sticky.

2

Form and Fry the Meatballs

Wet your hands to prevent sticking and form the mixture into 1-inch diameter meatballs. Place them on a plate and refrigerate for 15 minutes—this helps them hold their shape during frying. Heat the 0.5 cup vegetable oil in a deep skillet over medium-high heat until it shimmers (350°F).

Fry the meatballs in batches for 3-4 minutes until they develop a deep golden brown crust. They should float to the surface when ready—this indicates they're cooked through. Remove with a slotted spoon and drain on paper towels. Keep them warm in a 200°F oven while you prepare the broth. If they lose crispness, fry them again briefly before serving.

3

Build the Aromatic Broth Base

In the same skillet, add 1 tbsp vegetable oil and sauté the 1 stalk bruised lemongrass and 2 whole cinnamon sticks over medium heat for 2 minutes until fragrant. Add 6 cloves minced garlic and cook for 30 seconds until golden. Pour in 4 cups water and add the 2 chicken bouillon cubes, stirring until dissolved. Bring to a gentle simmer and let it steep for 10 minutes—this extracts maximum flavor from the spices.

Strain the broth through a fine-mesh sieve into a clean pot, pressing gently on the spices to release their essence. Return it to the stove and add the 13.5 oz coconut milk, stirring gently to combine. The broth should be velvety with a subtle coconut aroma—this is where the soup's richness comes from. Keep it at a gentle simmer while you prepare the noodles.

4

Assemble and Finish the Soup

Add the 8 oz egg noodles to the simmering broth and cook according to package directions until al dente—usually 4-5 minutes. The noodles should have a slight bite to them. Add the fried meatballs back to the pot and let everything simmer together for 2 minutes to meld the flavors. Taste and adjust seasoning with additional salt if needed.

Ladle the soup into bowls and garnish each serving with 0.25 cup fresh Thai basil. The basil adds a bright, herbal note that cuts through the richness of the coconut milk. Serve immediately with extra basil on the side for those who want more freshness. Each bite should deliver that perfect contrast of crispy meatballs against the creamy, spiced broth.

👨‍🍳

Pro Tips For Making Bakso Soup

  • Chill the Dough First: I learned this the hard way—skipping the fridge makes the dough sticky and hard to shape. After mixing beef, egg, tapioca flour, and garlic, let the mixture sit covered in the fridge for 15-20 minutes. This isn’t just about handling; it helps the tapioca bind properly so your meatballs hold together when boiling.
  • Boil, Don’t Simmer: Your soup pot should be at a rolling boil when adding the bakso, not a gentle simmer. A slow simmer turns them rubbery—high heat seals the exterior faster, locking in flavor. Use a slotted spoon to lower them in batches so the water stays hot enough to cook through evenly.
  • Mince Garlic Like Paste: Chopped garlic cloves burn and turn bitter in soup. Instead, mince them into a fine paste using the flat side of your knife—no food processor needed. This distributes flavor evenly without overpowering the broth, and it dissolves smoothly into the simmering liquid.
  • Use Cold Water for Dough: I was skeptical until I tried it—adding ice-cold water (about 1-2 tablespoons) to the beef mixture before shaping keeps the tapioca from absorbing too much heat at once. The result? Meatballs that stay firm during boiling instead of swelling and falling apart. (Yes, even if you’re impatient like me.)

Wine and beer pairings for these flavors

Light Indonesian Whites

Bakso soup's aromatic broth and coconut richness pair beautifully with crisp, citrusy Indonesian whites. I reach for Bintan White from West Java—its bright acidity and herbal notes mirror the lemongrass and coriander in the soup.

For a more affordable option, Riesling from Germany delivers similar refreshing contrast. Serve slightly chilled (45-50°F) to enhance the soup's cooling effect. 🍷

Creamy Thai Reds

If you prefer red wine, opt for a Thai Shiraz like Meokaw—its velvety texture and subtle spice notes complement the coconut milk's richness without overpowering.

The wine's low tannins prevent bitterness that could clash with the soup's delicate flavors. Pair with a 10-minute decant to soften any remaining astringency before serving.

Hoppy Asian IPAs

For beer lovers, a Japanese IPA like Sapporo Black Label or Kirin Ichiban creates a perfect balance. The beer's citrusy hops cut through the coconut fat while its malty backbone stands up to the broth's depth.

Serve the beer ice-cold (38-40°F) to maintain crispness alongside the warm soup. 🍺

Coconut-Inspired Cocktails

For a festive touch, serve a Thai Iced Tea (made with Cha Yen tea concentrate) or a Coconut Mojito with fresh mint and lime. The sweetness of the Thai tea enhances the soup's savory notes, while the mojito's tartness provides refreshing contrast.

Both drinks highlight the coconut milk's natural flavors without competing for attention.

Non-Alcoholic Pairings

For a refreshing non-alcoholic option, try jasmine iced tea with a splash of coconut water—the floral notes complement the lemongrass, while the coconut water echoes the soup's primary ingredient.

Another great choice is ginger beer (like Feather Ginger Beer), which adds a spicy kick that enhances the soup's overall warmth. ✨

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 36g46%
Saturated Fat 18g90%
Cholesterol 120mg40%
Sodium 1020mg44%
Total Carbohydrate 42g15%
Dietary Fiber 3g11%
Sugars 4g
Protein 32g64%
* 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 bakso meatballs need tapioca flour?

The tapioca flour creates that signature crispy exterior while keeping the interior tender. When fried, it forms a delicate golden crust that contrasts perfectly with the creamy broth. Without it, your meatballs will be soft all the way through—missing the authentic bakso texture!

2

Can I make bakso soup vegetarian?

Swap the ground beef for 1.5 lb finely chopped mushrooms (like shiitake or oyster) or 1 block firm tofu crumbled into small pieces. Add 1 tbsp soy sauce to the meatball mix for umami depth. The broth remains the same, so the flavors stay rich and satisfying.

3

How do I fix meatballs that fall apart when frying?

Overmixing the meatball dough is the most common cause. Mix just until combined—stop when you see streaks of fat in the mixture. Also, ensure your hands are wet when shaping to prevent sticking, and don't skip the 15-minute chill before frying. If they still fall apart, add 1 tbsp more tapioca flour to the mix.

4

Can I make the broth ahead of time?

Yes! The broth actually tastes better the next day as the flavors meld. Store it in an airtight container in the fridge for up to 5 days or freeze for 3 months. When reheating, warm it gently on low heat—never boil—to preserve its delicate aromatics. Add fresh meatballs and noodles when serving.

5

What's the best way to reheat leftover bakso?

For crispy meatballs, reheat them in a dry skillet over medium heat for 2-3 minutes until golden again. Add them to fresh broth (reheated separately) and noodles just before serving. Never microwave the meatballs—they'll turn soggy. The broth can be reheated on the stove, but add a splash of water if it's too thick.

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