Indonesian bakso: springy beef meatballs in clear beef broth with yellow noodles, greens, and fried shallots
Prep45 min
Cook2 hr
Serves4 servings
CuisineIndonesian

Bakso: Indonesian Beef Meatball Soup

How to make bakso, Indonesia's beef meatball soup: beef and tapioca for real bounce, a clear beef broth, Solo vs. Malang styles, noodles and greens, sambal at the table, storage, and fixes when things go wrong, with step-by-step photos.

Total: 2 hr 45 minLevel: Intermediate

Cooking flow

Cooking steps

STEP 11 / 5

Make a clear broth from beef bones and meat

1 hr 40 min–2 hr

A pot of beef bones and aromatics simmering on low while foam is skimmed off
Don't let the beef broth boil hard; skim the foam to keep it clear

Put the beef bones and meat in a pot, cover with water, and blanch for just 5 minutes. Drain, rinse the bones and meat under running water, wash the pot, then add 2.5 L water, the crushed garlic, white peppercorns, and leek greens. Bring to a boil over medium heat and turn the heat to low once foam appears. Simmer for 90–120 minutes at a heat where the surface barely moves, skimming off foam and fat. It's ready when the broth looks clear and pale gold and the meat around the bones is tender enough to pull apart with chopsticks. Move on once the crushed garlic has melded into the broth and no large bubbles rise to the surface. Boil the broth hard enough to cloud it and it will taste heavy even after straining.

STEP 22 / 5

Grind the beef while it's cold

8 min

Cold ground beef and ice water being processed fine in a food processor
Work in the ice water without letting the meat warm up; this is the base of the bounce

Chill the ground beef in the freezer for about 15 minutes and chill the food processor bowl too. Add the meat, salt, white pepper, garlic, and egg white with half the ice water and process in short pulses. Stop, scrape down the sides, and add the remaining ice water in about 3 additions. Stop when the meat has turned into a pale paste that feels cold when pressed and has developed tackiness just short of turning stringy. If the bowl gets lukewarm as you go, put it back in the refrigerator.

STEP 33 / 5

Mix in the tapioca, shape, and poach gently

25 min

Meat paste with tapioca shaped with a wet hand and spoon and dropped into hot water
Keep the water from boiling hard, and use a wet hand and spoon to make the meatballs the same size

Remove the blade and add the tapioca starch, vegetable oil, and remaining salt. Fold from the bottom with a spatula for 2–3 minutes, until no white starch remains and the paste is evenly tacky. Fill a separate pot with water and hold it just below a boil, at 80–85°C (176–185°F). Wet your hand, squeeze the paste out between your thumb and index finger, and scoop off 25–30 g portions with a wet spoon, dropping them into the water. Once all of them float, cook 5–8 minutes more. Take out the largest one, insert a thermometer into the center, and confirm 75°C (167°F) for at least 1 minute. Floating alone doesn't tell you they're safe.

STEP 44 / 5

Cook the noodles and greens separately and finish the broth

10 min

Yellow noodles, glass noodles, and bok choy cooked in a separate pot and drained in a sieve
Cook the noodles and greens separately so no extra starch gets into the clear beef broth

Discard the water you poached the meatballs in, strain the beef broth through a fine-mesh sieve, and return it to the pot. Add salt starting with 1 tsp and stop just before it tastes quite right. Return the meatballs to the broth and warm over low heat for 5 minutes. In another pot, cook the yellow noodles according to the package directions, adding the bok choy for the last 30 seconds. Soak the glass noodles, then warm them briefly. Lift out the noodles while the centers still have a slight bite, and the greens while the stems are still crisp and the leaves stay green. Keep the broth clear and just below steaming hot. Cooking the noodles in the broth pot clouds the soup with starch and dulls the greens.

STEP 55 / 5

Build the bowls and season at the table

5 min

Finishing a bowl with noodles, greens, meatballs, beef broth, celery, scallions, and fried shallots
Noodles and greens go in first; meatballs, broth, and table condiments finish the bowl

Put a little yellow noodles and glass noodles in each bowl. Spread the noodles flat across the bottom, put the greens on one side, and space 6 meatballs evenly so they're visible on top. Pour in the hot beef broth and top with celery, scallions, and fried shallots. Serve sambal oelek, kecap manis, and vinegar or lime in small dishes on the side. Taste the first spoonful with just broth and meatballs, then add heat or sweetness from the second bite. Keeping the broth's salt restrained leaves room to adjust at the table, which makes the bowl easy to enjoy at home.

0 / 0
Ingredients

Ingredients

1 / 3

Meatballs

Ingredient Amount Substitutes & notes
Ground beef 500 g About 1.1 lb. 70–80% lean. Chill well
Tapioca starch 80 g Potato starch works, but the springiness doesn't last as long
Ice water 100 ml Scant 1/2 cup. Add in 3–4 additions; don't let it warm up
Egg white 1 Binds the paste. Can be left out for egg allergies
Garlic 2 cloves Grated
White pepper 1 tsp With black pepper, start at 1/2 tsp
Salt 1 tsp Mix in 3/4 tsp first, adjust at the end
Vegetable oil 1 tsp Mixed into the meat paste along with the tapioca for a smoother texture. Optional
2 / 3

Beef broth

Ingredient Amount Substitutes & notes
Beef bones 600 g Shank or knuckle bones. If hard to find, use more beef shank
Beef shank or beef trimmings 300 g Adds body to the broth. Can also go into the bowls
Water 2.5 L About 10.5 cups. Yields about 1.8–2 L
Garlic 4 cloves Crushed with the flat of a knife
White peppercorns 1 tsp Or 3/4 tsp ground
Green part of a Japanese leek (negi) 1 stalk Or 1/4 onion
Salt about 1 1/2 tsp Adjust little by little after straining the broth
3 / 3

Noodles, greens, and table condiments

Ingredient Amount Substitutes & notes
Yellow egg noodles 200 g Close to Indonesian mi kuning. Chinese egg noodles work
Mung bean glass noodles 80 g You can use only yellow noodles
Bok choy 2 heads Or mustard greens or another Asian green
Fried shallots 4 tbsp Bawang goreng. Or fry thinly sliced onion yourself
Celery 1 stalk Thinly sliced, leaves included
Scallions 2 Thinly sliced
Sambal oelek 1 serving: from 1 tsp Serve on the side so everyone sets their own heat
Kecap manis 1 serving: from 1/2 tsp Very sweet; start small
Rice vinegar or lime to taste Adds acidity. Optional
0 / 0

Meatballs squeezed between the fingers, into clear beef broth

Scoop up a little cold beef paste, squeeze it out of a wet palm, and let it drop into hot water. The surface tightens and turns smooth, and the ball drifts up from the bottom of the pot. Put those meatballs in a bowl with a hot beef broth fragrant with garlic and white pepper, and you have Indonesian bakso.

A smooth bakso meatball lifted on a spoon out of clear beef broth
Lift a meatball out of the clear broth and check its springy surface

Indonesia Travel describes bakso as an Indonesian staple you'll find everywhere from street carts to restaurants: springy meatballs made with beef and tapioca, eaten in a hot beef broth. Yellow noodles, glass noodles, tofu, fried shallots, and celery are the classic additions, but what goes into the bowl varies a lot from vendor to vendor and region to region.

The tricky part at home is making meatballs that aren't tough but still hold together. Keep the beef cold while you grind it fine, work in ice water a little at a time, and add the tapioca last. Don't let the pot boil hard, and finish by confirming the meatballs are cooked through to the center. Follow that order and you'll get close to the right texture: not chewy-soft, but bouncing back when you bite in.

Solo-style bakso is described as a simple bowl of clear broth with yellow noodles, while Malang is known for a loaded bowl with tofu, wontons, and more. This recipe builds on the clear Solo-style bowl and lets you push it toward Malang with sambal at the table and extra toppings. Soto ayam (in Japanese), the yellow chicken soup, also comes with noodles and greens, but in bakso the springy meatballs and beef broth are the stars. If you want more uses for sambal and sweet soy sauce, the same condiments work with sate ayam (in Japanese) and nasi goreng (in Japanese).

About the name

This article uses the Indonesian name, bakso. The home-kitchen amounts here aren't the one right answer: adjust texture and heartiness through the fat in the beef, the amount of tapioca, and the noodles you add.

Ingredients (serves 4)

That's about 24 meatballs of 25–30 g each (around 6 per person), and enough broth to ladle generously even with noodles and greens in the bowl. Ground beef that's too lean turns dry; too much fat makes the paste loose. Choose lean ground beef with a little fat and keep it in the refrigerator until right before you use it.

Bakso ingredients laid out: ground beef, tapioca starch, ice water, beef bones, yellow noodles, glass noodles, greens, and sambal
Ingredients grouped by role: meatballs, beef broth, noodles, and table condiments

Wash any tools that touched raw beef or its juices with dish soap before you cook the meatballs. Don't judge ground beef by color: use a thermometer to confirm the center of the largest meatball has reached 75°C (167°F) for at least 1 minute. If eggs, beef, tapioca products, or wheat and soy in store-bought condiments are a concern, check each product's label.

Where shopping effort pays off

Ground beef, beef bones, noodles, and greens are all at a regular supermarket. What's worth seeking out at an Asian grocery or online is tapioca starch, which gives the meatballs their bounce, and sambal oelek, which sharpens the bowl at the end. Potato starch can stand in for tapioca, but the mouthfeel gets a bit lighter, so if you want the Indonesian texture from the first try, go with tapioca.

Don't stir sambal oelek into the soup from the start; set it beside the bowl. That way you add not just heat but garlic and chili aroma later, and kids or anyone who doesn't like spice can eat from the same pot. One jar that lists its ingredients and heat level is enough. If you use fresh chiles instead, balance acidity and salt separately.

You can make the smooth meat paste with just a knife, but chopping cold meat evenly fine takes a long time. A large food processor mainly buys you the room to process 500 g of ground beef and the ice water in one go. For smaller batches, two rounds in the machine you already have is fine, and if you don't plan to make bakso or similar meatballs regularly, you don't need to buy one.

Instructions

You can make the meatballs while the broth simmers. Start the broth first and keep the pot at a quiet, low simmer while you make the paste. Dropping meatballs into rapidly boiling water roughens their surface, so watch the cooking after they float and the internal temperature as two separate checks.

Tip

Keeping the meat and equipment cold is the shortest route to springy meatballs. When the paste warms up, the fat separates and the surface turns grainy when cooked. Even mid-process, put the container back in the refrigerator if it gets lukewarm.

Fixes and storage

Rough-surfaced meatballs, clear beef broth, and refrigerator containers for troubleshooting and storing bakso
Store the meatballs and broth separately to keep the texture and a clear soup

More tapioca doesn't automatically mean better meatballs. The meat's temperature, the mixing order, and how hard the water moves each play a part. Check what happened and fix it like this.

What happened Main cause Fix
Meatball surface is grainy The paste warmed and the fat separated Chill the bowl over ice and smooth it with short pulses. Don't add water
Meatballs fall apart in the water The tapioca isn't evenly mixed in Fold from the bottom with a spatula and rest 10 minutes. If still loose, add 1 tsp at a time
Meatballs are hard and starchy Too much tapioca, or the water boiled hard Next time use 10 g less starch and poach at 80–85°C (176–185°F)
Broth turns cloudy white Bones boiled hard, or noodles cooked in the same pot Strain through a fine-mesh sieve, add a little boiling water, and bring back over low heat. Season last
Flavor is flat Too little salt in the broth Add salt a pinch at a time; add heat, acidity, and sweetness separately at the table

Don't judge the meatballs safe because they float or because of their color. Cook until the center of the largest one has been at 75°C (167°F) for at least 1 minute. If you can't measure, cut one open, make sure the center is no longer raw paste, and then keep warming over low heat. Also, don't use tongs or cutting boards that handled raw meat for serving.

For leftovers, keep the noodles and greens apart, and put the meatballs and broth in separate shallow containers. Let them cool slightly, then refrigerate or freeze. To reheat, bring the broth up to just below a simmer without boiling it first, then return the meatballs. When freezing, separating soup and solids keeps noodles from soaking up liquid and falling apart. For the best texture, use frozen meatballs and broth soon, and don't refreeze after thawing.

Solo and Malang: one name, many bowls

A Solo-style bowl with only yellow noodles in clear broth next to a Malang-style bowl loaded with tofu and wontons
Regional differences: Solo's simple bowl and Malang's loaded bowl

Bakso isn't a fixed menu item that means only round meatballs. An academic paper on Indonesian names for bakso shows that bakso names are built along several axes: ingredients, accompaniments, region, size, shape, color, filling, cooking method, and presentation. Look at what's in the bowl and you can tell how that place or vendor suggests you eat it.

Name / region Typical bowl How to approach it at home
Solo Clear broth, yellow noodles, relatively simple toppings This recipe's base. The beef broth and springy meatballs take center stage
Malang More tofu, wontons, and greens; many topping combinations Halve the meatballs and add fried tofu or wontons
Bakso urat Meatballs with the texture of tendon or sinew Beef tendon needs prep. For a first try, check the texture with regular meatballs
Bakso tenis / beranak Large meatballs filled with an egg or small meatballs Cooking through to the center takes longer, so treat it as a separate dish
Bakso mercon Spicy meatballs filled with chiles Start by serving sambal on the side and let everyone adjust

Cook Me Indonesian describes bakso vendors pushing their carts and tapping a bowl with a spoon to let customers know they're coming. Its explanation that bakso isn't just everyday hunger food but also something for tired days and gatherings of family and friends says more about the dish's place than the number of toppings does. You can't recreate the cart's sound at home, but if you keep the pot from locking into a single flavor and let each person add sambal and sweet soy sauce at the table, you get closer to how it's eaten in Indonesia.

As for its origins, some sources point to links with the food culture of Chinese traders and to its localization in Java, but no documentary evidence has been assembled for a single inventor or a definite year of introduction.

Did you know?

It's safest to understand bakso broadly: Chinese meatball traditions mixed with Indonesian street food, religion, and regional ingredients and changed into the bakso of today. The meat also varies by region, and in Muslim-majority Indonesia, beef and chicken bakso are the norm. Pork meatballs exist in areas with larger non-Muslim populations, but this article uses beef.

FAQ

A home table with a bowl of bakso, tapioca starch, sambal, yellow noodles, and greens
A bakso table for comparing what each ingredient does when you substitute

Can I use potato starch instead of tapioca starch?

You can, but at the same amount the texture is a little harder and the bounce shorter. With potato starch, start with 70 g and add 5 g at a time if the paste doesn't come together. On days when the Indonesian bounce matters, use tapioca; on days when convenience matters, use potato starch and enjoy it as a "meatball soup." Either choice is fine.

What if I don't have a food processor?

Chill the ground beef, chop it fine with a knife, then knead it in a bowl while adding ice water a little at a time. Some grain of the meat remains, so the texture is coarser than with a machine, but the order—working in the cold and the salt first—is the same. For small batches, rather than buying a dedicated machine, it's easier to split the meat mixture in two and knead each half.

I don't have beef bones. Can I still make the soup?

Yes: use more beef shank and replace part of the water with store-bought unsalted beef stock. With less gelatin from the bones, the soup will be lighter in body. If you add granulated bouillon, check its salt first and do the final seasoning after the meatballs go in. Pouring lots of kecap manis into the pot for a richer flavor takes you away from the clear Solo-style broth.

Do I need both yellow noodles and glass noodles?

Either one is fine. Yellow noodles add wheat aroma and heft; glass noodles add a light, broth-soaked texture. If you use both, keep each portion small so the meatballs and greens don't get buried. Cooking the noodles separately so the soup stays clear matters more to the result than which noodles you choose.

How do I make bakso that isn't spicy?

Keep sambal oelek out of the pot and serve it on the side. Without chiles, the broth's garlic and white pepper come forward. Those who like heat can add 1 tsp at a time, which works when family members have different spice tolerances. A little vinegar or lime on the side changes the flavor's edge without adding heat.

Nutrition estimate (1 serving, with toppings and noodles)

Overhead view of a bowl of bakso with noodles, meatballs, beef broth, greens, and fried shallots
One serving of bakso including noodles and meatballs

The table below is an estimate for the ground beef, bone broth, yellow noodles, glass noodles, and greens divided into 4. It changes with the beef's fat, the amount of noodles, fried shallots, and kecap manis. If you don't drink all the soup, your actual salt intake will be lower.

Per serving (estimate) Value
Energy about 560 kcal
Protein about 29 g
Fat about 27 g
Carbohydrates about 48 g
Fiber about 3 g
Sodium about 1800 mg
Salt equivalent about 4.6 g

Sources