Indonesian Cuisine
Bakso (Indonesian Beef Meatball Soup)
Springy beef meatballs in a clear garlic and white pepper broth, served with noodles, greens, sambal, and kecap manis
In a lot of Indonesian neighborhoods you hear bakso before you see it. A cart comes down the street, the seller taps a spoon against a bowl, and people come out holding their own bowls. The pot on that cart holds a clear, peppery beef broth with a heap of pale meatballs bobbing in it. Barack Obama, who lived in Jakarta as a boy, still remembered the calls forty years later. In a 2010 speech at the University of Indonesia, he talked about buying sate and bakso from street vendors, called out "Bakso!" to a laughing crowd, and added, "Enak, ya?"
The name comes from the Hokkien bak-so, a trace of the dish's Chinese-Indonesian roots. Indonesian cooks made it with beef and chicken, and regional styles have grown up around it. Wonogiri's meatballs are dense and meaty, with very little starch. Solo's broth smells of nutmeg. Malang piles the bowl with fried wontons and stuffed tofu.
This is a Javanese street-cart bowl. The broth stays simple on purpose: beef bones, fried garlic, white pepper, and a pinch of nutmeg. The meatballs are the point. Good bakso is kenyal, springy and bouncy, with a smooth surface and a slight snap when you bite in. It should not eat like a hamburger.
That texture comes from technique more than from any ingredient. Keep the beef paste cold, process it until no fibers remain, and poach the balls in water that is steaming but never boiling. A hard boil wrinkles and splits the surface, and you can't undo that.
At a Glance
Yield
6 servings
Prep
45 minutes
Cook
2 hours 30 minutes
Total
3 hours
Difficulty
Medium
Ingredients
For the fried garlic
- 12 clovesgarlic, thinly sliced
- 1/3 cupneutral oil, such as peanut or canola
For the broth
- 2½ lbbeef bones, such as shin, knuckle, or marrow bones
- ½ lbbeef shank or brisket trimmings (tetelan) (optional)
- 3½ qtwater
- 3 stalksChinese celery (daun seledri), tied in a knot, or the leafy tops of 2 regular celery stalks
- 2scallions, tied in a knot
- 2 tspfine salt, plus more to taste
- 1 tspsugar
- 1/2 tspground white pepper
- 1/8 tspnutmeg, freshly grated
- 1 tspbeef or mushroom stock powder (kaldu bubuk) (optional)
For the meatballs
- 1 lblean beef (top round or eye of round), fat and silverskin trimmed, cut into 1-inch cubes
- 1 1/2 tspfine salt
- 3½ ozice cubes (about ¾ cup), crushed
- 1large egg white, cold
- 2 oztapioca starch (about ½ cup)
- 2 tbspfried garlic, from above, crushed
- 1 tbspfried shallots (bawang goreng), store-bought, crushed
- 1 tspsugar
- 1/2 tspground white pepper
- 1/2 tspbaking powder
- 1 tspbeef or mushroom stock powder (kaldu bubuk) (optional)
- 3 qtwater, for poaching
For the sambal rebus (boiled chili sambal)
For the bowls
- 7 ozdried rice vermicelli (bihun)
- ½ lbfresh yellow egg noodles (mie kuning)
- ¾ lbchoy sum or bok choy (sawi), cut into 2-inch pieces
- 3scallions, thinly sliced
- ¼ ozChinese celery leaves (about ¼ cup), chopped
- ½ ozfried shallots (bawang goreng) (about ¼ cup)
- —kecap manis, to serve
- —bottled chili or tomato sauce (saus sambal or saus tomat), to serve (optional)
Method
- 1
Spread the beef cubes on a plate or tray in one layer and freeze for 30 minutes, until firm at the edges but not frozen through. Put the food processor bowl and blade in the fridge at the same time. Cold equipment buys you time before the paste warms up.
- 2
Meanwhile, put the bones (and trimmings, if using) in a large pot, cover with cold water, and bring to a boil. Boil for 5 minutes, then drain and rinse the bones and the pot to wash off the gray scum. This first boil is what keeps the finished broth clear.
- 3
Return the bones and trimmings to the clean pot with the 14 cups of water. Bring to a boil, then lower the heat until the surface barely trembles. Partially cover and simmer for 2 hours, skimming any foam that rises. The broth will reduce to about 8 cups.
- 4
Make the fried garlic. Put the sliced garlic and oil in a small cold saucepan and set it over medium-low heat. Stir often for 5 to 7 minutes, until the slices turn pale gold and smell sweet and nutty. Take them out a shade lighter than you want, because they keep coloring off the heat. Lift them onto a paper towel with a slotted spoon and save the oil. Measure out 2 tablespoons of fried garlic for the meatballs and crush it to a coarse powder with the fried shallots.
- 5
Put the cold beef and the salt in the chilled food processor. Pulse in 1-second bursts, 10 to 15 times, until the meat is finely minced and starts clumping together.
- 6
Add the crushed ice in three batches, processing for 20 to 30 seconds after each and scraping down the sides. Run the machine in short bursts rather than letting it run nonstop, which heats the meat. The paste should turn smooth, sticky, and a pale pink.
- 7
Add the egg white, tapioca starch, crushed garlic and shallots, sugar, white pepper, baking powder, and stock powder, if using. Process in 15-second bursts for 1 to 2 minutes total, until the paste is glossy, completely smooth, and pulls away from the spatula in stretchy strands. If you can still see threads of meat, keep going; leftover fibers make lumpy, crumbly meatballs. If the bowl feels warm at any point, chill it for 10 minutes before continuing.
- 8
Scrape the paste into a bowl. For an even springier ball, do what Indonesian home cooks call banting: scoop up the paste with your hand and throw it back into the bowl, 10 to 15 times.
- 9
Test the seasoning. Bring a small pot of water to a simmer and poach a teaspoon of the paste for 2 minutes. Taste it. It should be well salted and peppery, and it should spring back when you press it. Adjust the salt in the paste if needed, then refrigerate the paste for 30 minutes.
- 10
Bring 12 cups of water to a boil in a wide pot, then turn off the heat. Set a bowl of cold water and a spoon beside the pot.
- 11
Shape the meatballs. Wet your hand, take a handful of paste, and make a loose fist. Squeeze so the paste pushes up through the circle of your thumb and index finger, forming a smooth ball about 1 1/4 inches across (the size of a walnut). Scoop it off with the wet spoon and drop it into the hot water. The balls will sink. Work steadily until all the paste is used.
- 12
Return the pot to low heat. Keep the water at about 190°F (88°C): steaming, with small bubbles on the bottom of the pot but never a rolling boil. Cook until the meatballs float, then 2 to 3 minutes more, about 8 to 10 minutes in total. Cut one open. It should be an even gray-tan inside with no pink, and it should bounce back when pressed. If the surfaces start wrinkling or cracking, the water is too hot.
- 13
Transfer the meatballs to a bowl of ice water for 3 minutes, then drain. Save 4 cups of the cooking water; it carries meat flavor into the broth.
- 14
Finish the broth. Strain the bone broth into a clean pot and discard the bones. Slice the trimmings into bite-size pieces, if using. Add the 4 cups of reserved cooking water, the remaining fried garlic, 1 tablespoon of the garlic oil, the celery and scallion knots, the salt, sugar, white pepper, nutmeg, and stock powder, if using. Simmer for 10 minutes.
- 15
Taste the broth. It should be savory and peppery, clean rather than heavy, with the fried garlic coming through. Add salt a pinch at a time until it tastes full. Remove the celery and scallion knots, add the meatballs, and keep at a gentle simmer for 5 minutes to heat them through.
- 16
Make the sambal. Boil the chilies and garlic in a small pot of water for 5 minutes, until soft. Drain, then pound or blend with the salt and 1/4 cup of the hot broth into a loose, bright red sauce.
- 17
Prepare the noodles and greens. Soak the rice vermicelli in just-boiled water for 5 minutes, until tender, then drain. Blanch the egg noodles in boiling water for 1 minute and drain. Blanch the greens for 30 seconds, or put them raw in the bowls and let the hot broth wilt them.
- 18
Divide the noodles and greens among 6 bowls. Add 5 or 6 meatballs and some sliced trimmings to each, then ladle in the hot broth. Top with sliced scallions, celery leaves, and fried shallots. Serve with the sambal, kecap manis, and bottled sauce on the table so everyone can season their own bowl.
Key Ingredient Benefits
Garlic: Garlic is in every bakso recipe, in the meatballs and in the broth. Frying it turns its sharp bite into something sweet and toasty, which is the dominant flavor of a street-cart broth. Garlic consumption has been associated with modestly lower blood pressure in clinical studies, though most of that research uses raw garlic or supplements. Frying breaks down allicin, the compound most often studied.
White pepper: White pepper gives bakso its gentle, lingering heat. It is the same fruit as black pepper with the outer skin removed, so it tastes cleaner and more floral, and it disappears into a pale broth. In traditional Chinese medicine, pepper (hu jiao) is classed as a warming spice and is used for a cold stomach, which fits a soup often eaten at the end of a rainy afternoon.
Beef and bone broth: Beef is a good source of protein and heme iron, the form of iron the body absorbs more easily than the iron in plants. A long-simmered bone broth also picks up gelatin from the bones, which gives it body. Bone broth is often promoted as a health food, but research on its specific benefits is still limited, so enjoy it for flavor and comfort.
Tapioca starch: Tapioca starch comes from cassava, which Indonesia grows widely. It is gluten-free, which makes the meatballs gluten-free too.
Bird's eye chilies: They bring the heat in the sambal. They contain capsaicin, which has been studied for its effects on metabolism and pain signaling.
Why This Works
Bakso gets its bounce from protein, not from starch. Salt draws the sticky proteins out of the beef, and the food processor works them into a paste. When the paste heats gently, those proteins set into an elastic gel, the same way fish balls and hot dogs get their snap. Every leftover strand of intact muscle interrupts that gel, which is why the recipe keeps processing until the fibers are gone.
Cold keeps the whole thing on track. The processor blade creates friction, and warm paste starts to set before it's shaped, which gives you crumbly, grainy meatballs. The ice cools the paste as it works, and the melted water gets trapped in the gel, so the finished meatball is juicy instead of dry.
Tapioca starch adds chew and holds more of that water, but only up to a point. Endang Indriani of Just Try & Taste, one of Indonesia's best-known home-cooking blogs, puts the limit at 15 to 20 percent of the meat's weight, with ice at 10 to 15 percent. This recipe uses about 13 percent starch, enough for spring without a gummy, rubbery bite. The ice runs a little above her range at 22 percent, which is typical of the processor-made versions.
Heat control finishes the job. In water that is steaming but not boiling, the meatballs cook through evenly and the outside sets smooth. At a rolling boil the surface expands faster than the center can keep up, and the balls wrinkle, crack, or split. That's why almost every Indonesian recipe starts the balls in water that has just come off the boil.
Substitutions & Variations
Beef cut: Top round and eye of round are lean and cheap, and lean meat gives the cleanest snap. Chuck works but makes a softer, fattier ball. Some Indonesian cooks prefer a little fat for flavor. Tenderloin works well if you want to splurge.
Chicken bakso (bakso ayam): Use 1 lb boneless, skinless chicken breast, cubed and frozen for 2 hours, in place of the beef. Cut the tapioca to 1/3 cup. Chicken paste is softer, so chill it well before shaping. Chicken stock works as the broth base.
Tapioca starch: Potato starch behaves almost the same. Cornstarch works but gives a firmer, less bouncy ball.
No food processor: Use store-bought ground beef, and knead and slam the paste by hand until it is smooth and no longer sticks to your palm. It takes 15 to 20 minutes of hard work, and the texture will be a little coarser.
Baking powder: It makes the meatballs lighter and bouncier. Leave it out for a dense, meaty ball closer to the Wonogiri style.
Stock powder: Many Indonesian recipes use kaldu bubuk or a pinch of MSG for a rounder savory flavor. It's optional; the bone broth carries the dish without it.
Bakso urat (tendon bakso): Chop 5 oz of cooked beef tendon into small pieces and fold it into the finished paste by hand. The balls come out rougher and chewier, with bits of tendon throughout.
Bakso Malang style: Set aside a third of the paste. Stuff it into fried tofu puffs to make tahu bakso, or wrap spoonfuls in wonton skins and fry them until golden for pangsit goreng. Poach or steam the tofu, then add both to the bowls.
Serving Suggestions
Bakso is a one-bowl meal. Most people order it campur, with both egg noodles and rice vermicelli, but either alone is fine. Put the sambal, kecap manis, and a bottle of chili or tomato sauce on the table and let everyone adjust their own bowl. A spoonful of sambal and a thin drizzle of kecap manis is the usual starting point, and the broth should turn slightly sweet, hot, and cloudy as it's stirred in. Eat with a spoon in one hand and a fork in the other, cutting the meatballs with the edge of the spoon.
Storage & Reheating
Meatballs: Refrigerate cooked meatballs in an airtight container for up to 3 days. To freeze, spread the chilled meatballs on a tray, freeze until solid, then bag them. They keep for up to 3 months.
Broth: Refrigerate for up to 4 days or freeze for up to 3 months. Lift off the fat that sets on top if you want a cleaner broth.
Noodles and greens: Cook these fresh. Noodles stored in broth turn soft and soak it up.
Reheating: Bring the broth to a simmer, add the meatballs, and heat gently for 5 minutes (about 10 from frozen). Keep it below a boil, just as when you cooked them.
Cultural Notes
Bakso is one of Indonesia's most common street foods. Vendors push it through neighborhoods on carts called gerobak or on bicycles, and it is also sold from roadside warung and tent stalls. The word can mean a single meatball or the whole bowl of soup.
The name comes from the Hokkien bak-so, usually translated as minced or fluffy meat. That points to Chinese-Indonesian origins, and the texture is close to Chinese beef balls and fish balls. In Hokkien, bak usually means pork. Because most Indonesians are Muslim, the dish became a beef and chicken food, and pork bakso is found mainly in Chinatowns and in Bali.
Regional styles differ in how dense the balls are and how the bowl is built. Bakso Wonogiri, from a Central Javanese regency known for sending bakso sellers across the country, is dense and meaty with very little starch, served in clear beef broth. Bakso Solo seasons its broth with nutmeg. Bakso Malang turns the bowl into a spread, with stuffed tofu, fried and steamed wontons, and fried meatballs alongside the soup. Bakso urat mixes chopped tendon into the meat.
The dish became known internationally after Barack Obama, who spent part of his childhood in Jakarta, remembered buying sate and bakso from street vendors in a 2010 speech at the University of Indonesia.
Nutrition Facts
Calories: 501kcal (25%)|Total Carbohydrates: 72g (26%)|Protein: 34g (68%)|Total Fat: 9g (12%)|Saturated Fat: 2g (10%)|Cholesterol: 69mg (23%)|Sodium: 1660mg (72%)|Dietary Fiber: 3g (11%)|Total Sugars: 11g
You Might Also Like
EasyIndonesian Cuisine
Bubur Ayam (Indonesian Chicken Rice Porridge)
1 hour 10 minutes
MediumIndonesian Cuisine
Ayam Goreng Lengkuas (Galangal Fried Chicken)
1 hour 45 minutes
MediumThai Cuisine
Boat Noodles (ก๋วยเตี๋ยวเรือ)
3 hours 15 minutes
EasyTraditional Chinese Medicine · China
Beef Brisket Soup (清湯牛腩)
145 minutes
Ratings & Comments
Ratings & Comments
Ratings
Share your thoughts on this recipe.
Sign in to rate and comment