Bakso
Non-vegetarian
Springy beef meatballs in a clear, garlicky beef broth with noodles, greens and fried shallots — Indonesia's favourite street-cart soup.
Bakso is an Indonesian soup, ready in about 1 hour and made with ground beef and tapioca starch. It serves 4 and is rated intermediate to cook.

- Prep
- 30 min
- Cook
- 30 min
- Total
- 1 h
- Serves
- 4
- Level
- Intermediate
- Calories
- 700
Ingredients
For the meatballs
For the soup
To serve
Method
Step 1
Pulse the cold beef with the garlic (opens in a new tab) (already fried golden), salt, pepper and sugar (opens in a new tab) in a food processor (opens in a new tab), then add the egg white (opens in a new tab), starch and ice water and blend to a smooth, sticky paste.
Keep everything very cold; it makes the meatballs bouncy.
Step 2
Fry the sliced garlic (opens in a new tab) and shallots (opens in a new tab) in the oil until golden and crisp; lift out and reserve. Add the oil to the stock.
- 8 min
- medium-low heat
- Frying pan / skillet (opens in a new tab)

How it looks · Photo: Magda Ehlers on Pexels Step 3
Bring a pot of water to a bare simmer. Squeeze the paste through your fist into balls, scoop off with a wet spoon and drop into the water. Cook until they float, then 3 minutes more.
- 12 min
- low heat
- Stockpot / large pot (opens in a new tab)
Food safety: Minced beef should be cooked through to 71 °C; whole steak pieces can be served pink if seared on all sides.
Step 4
Heat the stock with the salt, add the meatballs and the bok choy (opens in a new tab) and simmer 2 minutes.
- 4 min
- medium heat
Step 5
Divide both noodles among bowls, add meatballs and greens, ladle over broth and top with the crisp shallots (opens in a new tab) and garlic (opens in a new tab), spring onion (opens in a new tab) and celery (opens in a new tab). Season at the table with kecap manis (opens in a new tab) and sambal.
- 3 min
About this dish
- Origin
- Indonesia · Commonly attributedDerived from Chinese-Indonesian meatballs; now an Indonesian national favourite, usually made with beef.Also popular in MalaysiaMore food from Indonesia
- Dish
- Lunch · Dinner · Snack · Soups · Street food
- Cooking method
- Boiled, Simmered
- Taste
- savoury, garlicky, umami, mild
- Diet
- Dairy-free · No nut ingredients · High-proteinWorked out from the ingredients. How labels work
All labels
Non-vegetarian · Dairy-free · No nut ingredients · Alcohol-free · Pork-free · High-protein - Good for
- Street food · Freezer-friendly · Child-friendly
- Cook more with
- Ground beef · Tapioca starch · Garlic · Egg white · White pepper · Sugar
Allergens
- Contains: Eggsfrom egg white, egg noodles
- Contains: Wheatfrom egg noodles, kecap manis (sweet soy sauce)
- Contains: Glutenfrom egg noodles, kecap manis (sweet soy sauce)
- Contains, can be adapted: Soyfrom kecap manis (sweet soy sauce)
- Contains, can be adapted: Celeryfrom beef stock, celery
Based on typical versions of these ingredients and not verified allergen-free. Brands differ and cross-contact happens, so always check labels. For severe allergies, follow your clinician’s advice.
Nutrition
700 kcal per serving
Estimated1 serving ≈ 702 g · recipe makes 4
Where the energy comes from
- Protein 22%
- Carbohydrate 38%
- Fat 40%
| Nutrient | Per serving | Per 100 g* |
|---|---|---|
| Energy | 700 kcal | 100 kcal |
| Protein | 38.8 g | 5.5 g |
| Carbohydrate | 66.3 g | 9.4 g |
| Net carbohydrate | 63 g | 9 g |
| Sugars | 7.3 g | 1 g |
| Added sugars | 1 g | 0.1 g |
| Fibre | 3.3 g | 0.5 g |
| Fat | 30.7 g | 4.4 g |
| Saturated fat | 8.4 g | 1.2 g |
| Trans fat | — | — |
| Cholesterol | 106 mg | 15 mg |
| Sodium | 1657 mg | 236 mg |
| Salt equivalent | 4.1 g | 0.6 g |
Vitamins & minerals per serving
- Potassium
- 1425 mg
- Calcium
- 152 mg
- Iron
- 6.1 mg
- Magnesium
- 87 mg
- Vitamin A (RAE)
- 125 µg
- Vitamin C
- 29 mg
- Vitamin D
- 0.2 µg
- Vitamin B12
- 2.8 µg
- Folate (DFE)
- 157 µg
How these numbers were made
- Calculated from USDA FoodData Central (SR Legacy) per-100 g values and the listed quantities.
- *Per 100 g of combined raw ingredients; the cooked dish may weigh more or less.
- Optional ingredients are not included: celery, kecap manis (sweet soy sauce), chilli sauce (sriracha-style).
- Tapioca starch: Dry pearl tapioca (FDC 169717) used as a stand-in; both are almost pure cassava starch.
- “—” means the value isn’t known for enough of the ingredients; it is never zero by default.
- Values are estimates for guidance, not for medical dosing. U.S. Department of Agriculture, Agricultural Research Service. FoodData Central, 2019. fdc.nal.usda.gov.
Good to know
Tips
- Never boil the meatballs hard — they toughen and crack.
Common mistakes
- Using fatty mince, which makes the meatballs soft and greasy instead of springy.
Serve with
- Add fried wontons or tofu for a 'bakso komplit'.
Storage
- Cooked meatballs freeze for 3 months.
Reheating
- Simmer frozen meatballs in the broth for 8–10 minutes.
Original editorial recipe · FriendsPantry editorial · Not yet independently reviewed · Added · Updated
Sauces, chutneys & dips for this dish
Recipe DNA
How this dish is built
Built from the recipe’s own sections. Each band’s width is its share of the dish by weight. Choose a component to see what it does.
What the dish is built around
For the meatballs
- Ground beef, very lean, well chilled500 g
- Tapioca starch60 g
- Garlic, fried until golden4 clove · 16 g
- Egg white1 piece · 33 g
- Water, ice-cold80 ml · 80 g
- Salt1 tsp · 6 g
- White pepper0.5 tsp · 1.2 g
- Sugar1 tsp · 4.2 g
Reviews & corrections
Reviews come from signed-in cooks and appear after a moderator checks them. We never show made-up ratings.
You might also like

Soto ayam
Indonesian · 1 h 25 min · 582 kcal
Sop buntut
Indonesian · 3 h 40 min · 461 kcal
Sate ayam (chicken satay)
Indonesian · 1 h 50 min · 473 kcal
Bún bò Huế
Vietnamese · 3 h · 669 kcal