best street food in indonesia (2026) - 20 dishes you need to try

honest reviews of 20 best indonesian street foods across jakarta, yogyakarta, and bali. real prices, ratings, and what to actually order.

· updated Mar 23, 2026

tldr: out of 20 indonesian street foods i tried, my top 3 are bakso at bakso ratu sadis in yogyakarta (the meatball experience of a lifetime, IDR 25,000-50,000), satay ayam in jakarta (smoky, sweet, peanut sauce perfection, IDR 20,000-30,000), and martabak manis (the stuffed sweet pancake that has no business being this addictive, IDR 25,000-50,000). full reviews with prices and honest opinions below.


the context

indonesia might be one of the most underrated street food destinations on the planet. i spent two weeks eating my way through yogyakarta, jakarta, solo, and parts of bali, and i’m genuinely upset that nobody told me about this sooner.

the variety is staggering. every city has its own specialties, its own sauces, its own ways of cooking the same ingredients. yogyakarta alone could keep you eating for a month without repeating a dish. and the prices are almost comically low - i averaged about $4-5 per day on street food and was eating three full meals plus snacks.

this isn’t a guide based on one quick visit. i went back to places multiple times, tried different stalls serving the same dish, and spent an embarrassing amount of time standing at carts watching food being cooked. nobody paid me for any of this. i spent my own money and this is my honest ranking.

if you’re looking for more southeast asian food guides, check out my binondo manila street food guide or the italy food guide for something completely different.


the awards (my personal picks)

  • best overall: bakso at bakso ratu sadis in yogyakarta. the meatball soup that made me question every meatball i’ve ever eaten.
  • best late night: satay ayam from any cart on jalan malioboro. smoky, sweet, and the peanut sauce is addictive.
  • best budget: nasi goreng from a roadside cart. IDR 10,000-15,000 ($0.65-1) for a complete meal. absurd value.
  • most overrated: nasi goreng at tourist restaurants in bali. they charge IDR 60,000-80,000 for the same thing a street cart does better for IDR 15,000.
  • best for adventurous eaters: rujak cingur in surabaya. a salad with cow’s nose cartilage, fruits, and shrimp paste. sounds terrifying. tastes incredible.
  • best dessert street food: martabak manis. a thick stuffed pancake with chocolate, cheese, peanuts, and condensed milk. it’s not healthy. it’s not supposed to be.
  • most addictive: kerak telor in jakarta. a coconut egg rice crisp that’s sweet, savory, and crunchy simultaneously.
  • best soup: soto ayam. turmeric chicken soup with rice, herbs, and lime. the thing i craved most after leaving indonesia.

the full list

#dishwhere to eat itbest forprice (IDR)my rating
1baksoyogyakartameatball perfection15,000-50,0009.5/10
2satay ayamjakarta / yogyakartasmoky meat on sticks20,000-30,0009/10
3martabak maniseverywheresweet indulgence25,000-50,0009/10
4nasi gorengeverywherethe national dish10,000-20,0009/10
5rendangpadang stallsbest beef dish in asia25,000-40,0009/10
6soto ayamsolo / jakartacomfort soup12,000-20,0008.5/10
7gado-gadojakartavegetarian street food15,000-25,0008.5/10
8martabak telureverywheresavory stuffed pancake20,000-40,0008.5/10
9nasi padangpadang stallsrice with everything20,000-35,0008.5/10
10ayam penyetsurabaya / jakartaspicy fried chicken15,000-25,0008.5/10
11mie ayameverywherenoodle comfort food12,000-20,0008/10
12gudegyogyakartasweet jackfruit stew15,000-25,0008/10
13rawonsurabayablack beef soup20,000-30,0008/10
14nasi liwetsolococonut rice15,000-25,0008/10
15kerak telorjakartacrunchy rice snack10,000-15,0008/10
16siomaybandungsteamed fish dumpling10,000-20,0007.5/10
17rujak cingursurabayaadventurous salad15,000-25,0007.5/10
18es cendoleverywheresweet iced drink5,000-10,0007.5/10
19pecel leleeverywherefried catfish12,000-20,0007/10
20tahu gejrotcirebonspicy fried tofu8,000-12,0007/10

the top tier (my regulars)

1. bakso

yogyakarta (bakso ratu sadis and roadside stalls) / IDR 15,000-50,000 ($1-3.25) / 9.5/10

i thought i understood meatballs. then i went to yogyakarta.

bakso is indonesia’s national obsession and after spending a week eating it at every opportunity, i completely understand why. the basic version is simple - beef meatballs in a clear, peppery broth with yellow noodles, rice vermicelli, fried wontons, and tofu. but the execution ranges from solid to transcendent.

the most memorable version was at bakso ratu sadis, a place famous for its massive meatballs. they have them in every size - from a regular golf ball to a 30 kilogram monster that feeds over a thousand people. i went with the regular sizes and a bowl of noodles. the broth was intensely peppery - a lot of white pepper - and the noodles were perfectly al dente. the meatball itself was spicy on its own, with a clean beef flavor and bits of tendon and cartilage that added crunch and texture.

the thing about bakso is that it’s everywhere. literally every street has a bakso cart. the quality varies, but even an average bakso cart produces something delicious. the ones with high turnover - where the broth is constantly being replenished and the meatballs are freshly made - are always better.

i added their house hot sauce (a five-alarm chili sauce that hits like a super soaker) and it elevated the whole bowl. the noodles soaked up the spicy broth, the meatball was beefy and satisfying, and the whole thing cost less than a cup of coffee back home.

what to order: bakso campur (mixed - includes meatballs, noodles, tofu, fried wontons). ask for extra sambal.

verdict: the dish that made me understand indonesia’s food culture. cheap, satisfying, and available on every street corner.


2. satay (sate ayam / sate kambing)

jakarta and yogyakarta / IDR 20,000-30,000 ($1.30-2) / 9/10

satay is indonesia’s gift to the world and eating it at a roadside grill at 10pm with smoke billowing around you is one of the great food experiences.

chicken satay (sate ayam) is the most common and arguably the best version. small pieces of marinated chicken threaded onto bamboo skewers, grilled over charcoal until slightly charred, and served with a thick peanut sauce, rice cakes (lontong), and sliced shallots with cucumber.

the peanut sauce is what separates indonesian satay from every other version. it’s sweet from kecap manis (indonesian sweet soy sauce), slightly spicy, nutty, and thick enough to coat each piece of meat. some stalls add a squeeze of lime that brightens everything up.

goat satay (sate kambing) is for the adventurous. it’s gamier, chewier, and served with a raw shallot sambal instead of peanut sauce. i preferred the chicken but the goat version has its fans.

the best satay i had was from a cart on jalan malioboro in yogyakarta. the guy had been grilling since 5pm and by the time i got there at 9pm, the charcoal had that perfect low heat that gives the meat a deep smokiness without drying it out.

what to order: sate ayam with extra peanut sauce and lontong. minimum 10 skewers.

verdict: smoky, sweet, nutty perfection. the best satay carts have lines for a reason.


3. martabak manis

everywhere (best in jakarta) / IDR 25,000-50,000 ($1.60-3.25) / 9/10

martabak manis is a thick, fluffy pancake stuffed with chocolate, cheese, peanuts, condensed milk, or any combination thereof. it’s made in a special round pan, and watching a martabak vendor work is mesmerizing - they pour the batter, wait for it to rise with hundreds of tiny holes, then load the toppings and fold it in half.

the result is this dense, sweet, slightly crispy-on-the-outside, soft-on-the-inside brick of indulgence. the cheese and chocolate combination is the classic and it’s the one to start with. the cheese melts into the warm pancake, the chocolate goes slightly gooey, and the condensed milk ties it all together.

it’s not health food. a full martabak manis probably has 2,000 calories. i don’t care. it’s phenomenal. i bought one to share and ended up eating the entire thing myself over the course of an evening.

the savory version (martabak telur) is also excellent - a stuffed egg pancake with minced meat and onions. but the sweet version is the star.

what to order: martabak manis coklat keju (chocolate cheese). don’t fight it. just order it.

verdict: the greatest late-night street food snack in southeast asia. dangerously addictive.


4. nasi goreng

everywhere / IDR 10,000-20,000 ($0.65-1.30) / 9/10

indonesia’s national dish is fried rice, and before you dismiss that, understand that indonesian nasi goreng is a completely different animal from any other fried rice you’ve had.

the secret is kecap manis (sweet soy sauce) and terasi (shrimp paste). these two ingredients give nasi goreng its distinctive dark color, slightly sweet-savory flavor, and that umami depth that hits you on the first bite. add garlic, chili, and a fried egg on top, and you have the most satisfying $1 meal on earth.

the street cart versions are consistently better than restaurant versions. the intense heat of a cart wok, the speed of cooking, and the slightly smoky char you get from a well-seasoned wok over high flame - restaurants can’t replicate this.

i had nasi goreng at least once a day for two weeks and never got tired of it. the basic version with egg is great. the version with chicken or seafood is slightly better. the version from a cart at 2am when you’re hungry and the smoke is swirling around a single lightbulb is transcendent.

what to order: nasi goreng ayam (chicken) or nasi goreng seafood. always with a fried egg on top and sambal on the side.

verdict: the world’s best $1 meal. i’ll fight anyone on this.


5. rendang

padang stalls everywhere / IDR 25,000-40,000 ($1.60-2.60) / 9/10

rendang was voted the world’s most delicious food by cnn and for once, internet rankings got it right. it’s beef slow-cooked in coconut milk and a paste of lemongrass, galangal, garlic, turmeric, ginger, and chilies until the sauce reduces completely and the meat is coated in this dark, intensely flavored crust.

the best rendang i had was at a padang stall in jakarta’s tanah abang area. the beef was so tender it fell apart when i picked it up, and the flavor was this incredibly complex combination of coconut, spice, and deeply caramelized meat. it’s simultaneously rich, spicy, sweet, and savory.

technically rendang is a minangkabau dish from west sumatra, not street food, but it appears at nasi padang stalls everywhere and those stalls are on the street. the semantics don’t matter when the food is this good.

what to order: rendang daging (beef rendang) at any nasi padang stall. pair it with steamed rice and a vegetable side.

verdict: the world’s most delicious food claim might actually be accurate.


the solid middle

6. soto ayam

solo and jakarta / IDR 12,000-20,000 ($0.80-1.30) / 8.5/10

turmeric chicken soup that’s light, aromatic, and deeply comforting. clear golden broth with shredded chicken, rice or rice noodles, hard-boiled egg, fried shallots, celery, and a squeeze of lime. every region has its own version - soto lamongan, soto betawi (with coconut milk), soto kudus - but the basic soto ayam is the gateway.

the turmeric gives it that gorgeous yellow color and a warm, earthy flavor. the lime juice at the end brightens everything up. it’s the soup i craved most after leaving indonesia.

what to order: soto ayam with extra lime and sambal on the side.

verdict: the chicken soup your soul didn’t know it needed.


7. gado-gado

jakarta / IDR 15,000-25,000 ($1-1.60) / 8.5/10

indonesia’s answer to salad, except actually delicious. steamed vegetables (cabbage, bean sprouts, long beans, spinach), tofu, tempeh, hard-boiled egg, and rice cakes, all covered in a thick peanut sauce dressing. the peanut sauce is the same family as the satay sauce but slightly different - more peanut-forward, slightly tangy, and thinner.

this is the best vegetarian street food option in indonesia. it’s substantial, packed with protein from the tofu and tempeh, and the peanut sauce makes you forget you’re eating vegetables. the kerupuk (shrimp crackers) on top add crunch.

what to order: gado-gado with extra peanut sauce and kerupuk.

verdict: proof that indonesians can make vegetables genuinely exciting.


8. martabak telur

everywhere / IDR 20,000-40,000 ($1.30-2.60) / 8.5/10

the savory counterpart to martabak manis. a crispy fried pancake stuffed with egg, minced meat (beef or chicken), scallions, and onions. it’s cooked on a flat griddle until the outside is golden and crispy, then folded and cut into pieces.

the filling is juicy and savory, the outside is thin and crunchy. it’s like an indonesian version of a stuffed flatbread, but crispier and meatier. dipped in the vinegar-chili sauce that comes with it, each piece is a perfect little flavor bomb.

what to order: martabak telur daging (meat and egg). ask for extra acar (pickled vegetables) on the side.

verdict: the savory martabak doesn’t get enough attention. it deserves its own fan club.


9. nasi padang

padang stalls everywhere / IDR 20,000-35,000 ($1.30-2.30) / 8.5/10

nasi padang isn’t a single dish - it’s a system. you sit down and they bring out 10-15 small plates of different dishes. you eat what you want, they charge you for what you touched. it’s the honor system meets an all-you-can-choose buffet.

the standard spread includes rendang, fried chicken, egg curry, green chili sambal, cassava leaves in coconut milk, fried fish, and about 8 other things. the rice is steamed and plain because it needs to be - it’s the neutral base for all these intensely flavored dishes.

the best nasi padang experience i had was at a no-name stall in jakarta where the rendang was perfect, the sambal ijo (green chili) was nuclear, and the total bill for a plate with four dishes was IDR 30,000 ($2).

what to order: rendang, ayam pop (steamed chicken), sambal ijo, and daun singkong (cassava leaves). always.

verdict: the greatest lunch deal in southeast asia. take one of everything.


10. ayam penyet

surabaya and jakarta / IDR 15,000-25,000 ($1-1.60) / 8.5/10

“penyet” means smashed, and that’s what happens to the fried chicken before it reaches your plate. a piece of fried chicken is placed on a mortar and smashed flat with a pestle, then served with raw sambal, lalapan (raw vegetables), and steamed rice.

the smashing breaks open the crust and lets the sambal seep into the meat. the sambal served with ayam penyet is almost always fresh and raw - ground chilies, shallots, tomato, and shrimp paste. it’s significantly hotter than cooked sambals. the first time i tried it without warning, my entire face went numb for about 10 minutes.

the chicken itself is well-seasoned and juicy under the crust. the sambal is the star though. it’s fresh, aggressive, and exactly the kind of condiment that makes you eat twice as much rice as you planned.

what to order: ayam penyet with extra sambal. make sure you have rice. you’ll need it.

verdict: simple fried chicken elevated by the most aggressive sambal in indonesia. respect the heat.


11. mie ayam

everywhere / IDR 12,000-20,000 ($0.80-1.30) / 8/10

chicken noodles - seasoned egg noodles topped with minced chicken, bok choy, and a side bowl of clear chicken broth. you eat the noodles and sip the soup between bites. it sounds basic and it is basic, but when the noodles are springy and the chicken is well-seasoned with sweet soy and garlic, it’s exactly the kind of no-frills comfort food you want.

every neighborhood has a mie ayam cart. the best ones have been in the same spot for decades, serving the exact same recipe. consistency is the whole point.

what to order: mie ayam with pangsit goreng (fried wontons).

verdict: the definition of street food comfort. nothing fancy, everything satisfying.


12. gudeg

yogyakarta / IDR 15,000-25,000 ($1-1.60) / 8/10

gudeg is yogyakarta’s signature dish - young jackfruit slow-cooked in coconut milk and palm sugar until it becomes this sweet, brown, tender stew. served with rice, chicken, egg in coconut gravy, and crispy beef skin (krecek).

the flavor is unlike anything else in indonesian cuisine. it’s sweet and savory, with the jackfruit having this meaty texture that absorbs all the coconut and palm sugar. it’s traditionally breakfast food in yogyakarta and you’ll find gudeg carts starting at 5am.

i’ll be honest: gudeg is polarizing. the sweetness threw me off at first. by the third time, i was hooked. but some people never come around to it.

what to order: gudeg komplit (complete - with chicken, egg, and krecek).

verdict: an acquired taste that’s worth acquiring. give it three tries before judging.


13. rawon

surabaya / IDR 20,000-30,000 ($1.30-2) / 8/10

black beef soup. the black color comes from kluwek (keluak) nuts, which are mildly toxic when raw and need to be fermented before use. the result is a deeply savory, slightly nutty, pitch-black soup with tender chunks of beef.

rawon is east java’s signature soup and it’s genuinely unique - nothing else in the world tastes quite like it. the black color is startling at first but the flavor is rich and complex. served with rice, bean sprouts, salted duck egg, and sambal.

what to order: rawon with a salted duck egg. the egg cuts through the richness perfectly.

verdict: the most unique soup in indonesia. the black color is a feature, not a bug.


14. nasi liwet

solo / IDR 15,000-25,000 ($1-1.60) / 8/10

rice cooked in coconut milk and chicken broth, served with shredded chicken, egg, and a creamy coconut sauce. it’s solo’s answer to nasi uduk (jakarta’s coconut rice) and it’s gentler, creamier, and more comforting.

the rice itself is the star - infused with coconut and savory broth, each grain is flavorful enough to eat on its own. the accompaniments are simple but the combination is warm and satisfying.

what to order: nasi liwet komplit with opor ayam (chicken in coconut sauce).

verdict: the gentler side of indonesian food. comfort in a banana leaf.


the ones worth trying

15-20: quick takes

kerak telor (jakarta) - IDR 10,000-15,000 - 8/10. a crunchy coconut egg rice cake made in a wok over charcoal. sweet, savory, nutty. jakarta’s signature snack and weirdly addictive.

siomay (bandung) - IDR 10,000-20,000 - 7.5/10. steamed fish dumplings with tofu, egg, potato, and cabbage, covered in peanut sauce. it’s gentle and satisfying but not as exciting as other street foods on this list.

rujak cingur (surabaya) - IDR 15,000-25,000 - 7.5/10. a salad with cow’s nose cartilage, unripe mango, pineapple, cucumber, and a thick shrimp paste sauce. it sounds absolutely insane. it tastes surprisingly good. the cartilage is chewy and the shrimp paste sauce has this deep umami that ties everything together.

es cendol (everywhere) - IDR 5,000-10,000 - 7.5/10. a cold drink/dessert with green rice flour jelly worms, coconut milk, and palm sugar syrup over shaved ice. refreshing on a hot day and the palm sugar is beautifully caramelly.

pecel lele (everywhere) - IDR 12,000-20,000 - 7/10. deep-fried catfish with sambal and lalapan. simple, cheap, and satisfying but not as remarkable as the dishes ranked above.

tahu gejrot (cirebon) - IDR 8,000-12,000 - 7/10. cubes of fried tofu in a sweet, sour, spicy palm sugar and chili sauce. an interesting flavor combination and a good vegetarian snack.


indonesia street food tips

  • always carry small bills. street food carts rarely have change for IDR 100,000 notes. keep IDR 5,000, 10,000, and 20,000 notes on you at all times.
  • eat where the locals eat. if an entire cart is surrounded by indonesian families, that’s your spot. if it’s full of tourists and has an english menu, walk 50 meters in any direction for better food at half the price.
  • sambal is a spectrum. ask “pedas?” (spicy?) before adding sambal to anything. some sambals are mild and fruity. others will genuinely ruin your next 24 hours. start small and work up.
  • street food is best after 5pm. lunch carts are fine, but the real scene starts at dusk. night markets (pasar malam) in yogyakarta, jakarta, and bandung are where the most variety and best quality lives.
  • bring your own tissues/napkins. many street stalls don’t provide napkins. a small pack of tissues is essential kit.
  • download grab or gojek. both apps have food delivery features (grabfood and gofood) that let you order from specific street stalls. useful for discovering popular carts in your area.
  • learn three words: “satu” (one), “pedas” (spicy), “enak” (delicious). the last one will make every street food vendor smile.

if you found this useful, check out these other food guides:

frequently asked questions

what is the best street food in indonesia?
bakso (meatball soup) is the undisputed king - you'll find it everywhere from yogyakarta to jakarta. nasi goreng (fried rice) is the national dish and ranges from basic to spectacular depending on the cart. satay (especially ayam and kambing) is the one that hits hardest late at night. rendang technically isn't street food but appears at padang stalls everywhere and it's the best meat dish in southeast asia.
how much does street food cost in indonesia?
indonesian street food is absurdly cheap. bakso costs IDR 15,000-25,000 ($1-1.60). nasi goreng is IDR 10,000-20,000 ($0.65-1.30). satay runs IDR 15,000-30,000 ($1-2) for a full portion. martabak is IDR 20,000-50,000 ($1.30-3.25) depending on toppings. you can eat three full meals from street carts for under $5.
is indonesian street food safe to eat?
mostly yes, if you follow basic rules. eat at stalls with high turnover - if there's a line, the food is fresh. avoid anything that's been sitting out for hours. raw vegetables and uncooked salads are higher risk than cooked food. drink bottled water, not ice from unknown sources. i ate street food for two weeks straight and had zero issues by following these rules.
what is the spiciest indonesian street food?
ayam penyet (smashed fried chicken with raw sambal) will destroy you if you're not ready. sambal from padang stalls is seriously hot. bakso with extra sambal and raw chilies is another level. the sambal at most street stalls ranges from mild to face-melting - always ask for it on the side first until you know your tolerance.
where is the best street food in indonesia?
yogyakarta is the street food capital - gudeg, bakso, satay, and dozens of night market stalls. jakarta's jalan sabang and glodok (chinatown) are legendary. solo has the best soto and nasi liwet. surabaya for rawon and rujak cingur. bali's street food is good but more tourist-oriented. for the most authentic experience, yogyakarta and solo are unbeatable.
what is bakso and why is it so popular in indonesia?
bakso is indonesian meatball soup - beef meatballs in a clear peppery broth with noodles, tofu, and vegetables. it's popular because it's cheap (IDR 15,000-25,000), filling, available on literally every street, and comes in endless variations from tiny meatballs to 30kg monster meatballs at places like bakso ratu sadis in yogyakarta. some versions include tendon, fried wontons, and multiple types of noodles.
is nasi goreng just fried rice?
calling nasi goreng 'just fried rice' is like calling pizza 'just bread with cheese'. technically accurate, emotionally wrong. indonesian nasi goreng uses sweet soy sauce (kecap manis), shrimp paste, chili, and garlic that gives it a completely different flavor profile from chinese fried rice. topped with a fried egg, kerupuk (crackers), and sambal, it's a complete meal for under $1.
share twitter whatsapp

more from travel-guides