
In East Java and throughout the country, the food in Surabaya is known for its intense flavours and fresh seafood.
Surabaya is the second largest city in Indonesia. It’s known as the flower city, Indonesia’s Apple City, and the starting point to get to Mount Bromo or the impressive blue fire in Ijen Crater.
Surabaya feels very different from its big brother, Jakarta. It feels like a city of smaller neighbourhoods, with friendly locals walking the tree lined streets free from smog and pollution. I love eating in Jakarta but it’s an unwalkable city with unbelievable traffic congestion. The pollution is also so bad after 4 days I usually develop a cold from the smog. It’s no surprise the government is moving the government headquarters from Jakarta to Kalimantan.

Traditional Surabaya Food Influences
Surabaya’s traditional food is a unique blend of different cultures and cuisines, reflecting the city’s rich history and cultural diversity. As a port city, Surabaya has been a melting pot of different cultures, and its cuisine reflects this diversity.
Here are some of the influences that have created Surabaya’s traditional food:
- Javanese cuisine: Surabaya is located in East Java. Its cuisine is heavily influenced by Javanese cuisine. Many of Surabaya’s traditional dishes, such as rawon, soto ayam and lontong balap.
- Chinese cuisine: The Chinese have had a significant presence in Surabaya for centuries. In particular Peranakan cuisine from southern Chinese immigrants. The use of peanuts in sauce comes from these immigrants.
- Arab cuisine: Surabaya has a large Arab population as it is a port city and historically important for trading. They brought the tradition of eating different meats such as goat meat, which is very common in Surabaya cuisine.
- Dutch cuisine: Surabaya was a Dutch colony for many years. Not only are some words based on Dutch language but also what they ate and how they ate.
- Indian cuisine: Indian traders and immigrants have been present in Surabaya for centuries, and their influence can be seen in dishes that use curries and breads.
Food in Surabaya You Don’t Want to Miss
On Java island, food is known to be sweet, with lots of fresh vegetables. Tofu and tempeh are in many dishes and not just reserved for vegetarians – everyone likes it. So if you’re plant based be aware a tahu or tempe dish may contain meat. You need to ask.
In East Java, food here is less sweet ad often served with bean sprouts of lots of veggies. You’ll still find many dishes with peanut sauce but beware, the sambal is SPICY!
Really really spicy. Even for Indonesians.
Thankfully I found most people in Surabaya serve sambal on the side. They knew I wouldn’t touch it!
1. Rawon

Rawon is a popular dish in East Java and is often eaten for breakfast or lunch. It is believed to have originated from the Javanese royal court and has been passed down through generations.
It is a beef soup that is made with a special ingredient called kluwak also known as black keluak nut which gives it a unique flavor and dark color. The kluwak nut is boiled and mashed to create a paste, which is then added to the soup along with other spices such as garlic, ginger and coriander. The beef is cooked until it is tender and then served with rice, bean sprouts, and sometimes boiled or salted duck egg.
The dish has a rich and savory flavor that is often described as earthy and slightly bitter. Rawon is also known for its health benefits, as it is believed to help boost the immune system and aid in digestion.
2. Rujak Cingur

A salad made with boiled cow snout, vegetables, and a spicy peanut sauce.
Rujak cingur is a salad made with a variety of fruits and vegetables, including cucumber, pineapple and mango.
However, it’s not vegetarian as it’s made with a unique ingredient called cingur, which is made from cow’s nose cartilage. The cingur is boiled until tender and then sliced thinly and added to the salad. The dish is dressed with a sweet and spicy sauce made from peanuts, chili, and tamarind. The combination of sweet, sour, and spicy flavors creates a unique taste that is a perfect blend of flavour and lots of vitamins with a side of protein.
Rujak cingur is a popular street food in Surabaya and is often sold by vendors on the side of the road. It is a refreshing and flavorful dish that is perfect for hot and humid days.
3. Lontong Balap

You can find lontong all over Indonesia but each island, region, city and household makes it differently. Lontong is an Indonesian dish that reflects history, geography, local ingredients and preferences. Lontong balap is a popular dish in Surabaya and is often sold by street vendors. You can also find family owned shops that specialise in it.
It is made with lontong, which is compressed rice cake that is cut into small pieces. This dish is served fried tofu, fried tempeh, black eye pea fritter and bean sprouts. It is served with a flavorful broth with a spicy and savory sambal made from shrimp paste, garlic and chili on the side.
It’s a common breakfast in Surabaya and a nice light way to start the day.
4. Pecel Semanggi

Not quite a Surabaya food it, pecel semanggi comes from the Benowo village just outside of the city.
Pecel itself is a vegetable salad popular throughout Indonesia. But you’ll find Surabaya’s dish reflects its local ingredients. This pecel incorporates semanggi as its main ingredient, a clover that grows all over rice paddy fields in the area. You’ll also find typical bean sprouts, water spinach and of course peanut sauce. This sauce is a bit thicker as it also uses sweet potatoes along with unprocessed palm sugar.
The most traditional pecel semanggi is sold in the streets by women wearing traditional clothing. It is traditionally served in a banana leaf package with rice crackers that you can use as a spoon.
5. Gado Gado

Gado gado is a salad made with boiled vegetables, tofu and a spicy peanut sauce. Sometimes it comes with noodles, which makes it a hearty meal.
No one knows its exact origin. Although you’ll find this vegetarian dish throughout Indonesia it’s widely believed to be from Java because of the peanut sauce.
It is a salad made with a variety of vegetables, such as boiled potatoes, boiled eggs, bean sprouts, and cucumber and is served with a spicy peanut sauce. The sauce is made from ground peanuts, chili, tamarind, and other spices, mixed with palm sugar and water to create a sweet and spicy flavour. It’s just a personal preference but I find too much sauce to be overwhelming, drenching the food. So I ask for the peanut sauce on the side.
6. Bebek Mercon

If you love spicy foods, this is the dish for you. Originally from Semarang, bebek mercon is also a popular Surabaya food. The dish is made by marinating the duck in a spicy sauce made from chili, garlic, galangal, turmeric and soy and then grilling it until it is tender and crispy.
If you’re not so great with spicy foods you’ll find plenty of fried duck around the city as well with sambal on the side.
7. Penyetan

This Surabaya dish is not so much a dish but a type of food that can be any protein. It refers to a dish that is served with a sambal or chili paste that is pounded or “penyet” in Bahasa Indonesia.
The dish is typically made with a variety of proteins, such as chicken, beef, or fish. It can be grilled or fried and served with a side of steamed rice, fresh vegetables and the signature sambal. But the key is the sambal terasi , which not only has chilis but also fermented shrimp.
This dish is originally from Madiun but also a common food in Surabaya. It’s well liked because it’s an inexpensive dish but filling.
Rice is mixed with pecel and then topped with spicy peanut sauce. A number of toppings accompany it such as fried tofu, tempeh, crackers, peanut brittle, and vegetables. The traditional recipe calls for chinese petai and kenikir leaves. But as they can be difficult to find any kind of greens and vegetables may be used as a side.
8. Zangrandi Ice Cream

I love trying local ice cream shops that have been around for generations. Zangrandi Ice Cream is a famous ice cream parlor in Surabaya that first opened in 1933. The parlor is known for its homemade ice cream and classic European-style decor.
The ice cream is made with natural ingredients, such as fresh milk and real fruit, and is served in a variety of flavours, such as the original chocolate, vanilla, and strawberry. We splurged on the durian ice cream, which I think is a great way to try this Indonesian king of fruits along with the Black Forest ice cream cake.
There are three locations in Surabaya, I visited the one in Old Town.
9. Nasi Goreng Kambing

Nasi goreng literally means fried rice and it is probably the most famous food in Indonesia with thousands of variations. You can find it in restaurants but locals know that the best nasi goreng is found in the streets. It is made to order on hot woks and the flavour is just as good as the price.
With a significant Arab population through popularised goat meat or kambing in the area it’s no surprise it’s one of the most famous Surabaya foods.
Every recipe is different but you’ll find goat meat, onions, garlic, and chili and seasoned with kecap manis (sweet soy sauce). The dish is often served with a fried egg on top and garnished with sliced tomatoes and cucumber.
10. Ikan Bakar

It literally translates to “toasted fish”, but it’s actually which is grilled or barbecued fish. You’ll find this all over the streets at night in Surabaya.
Street food vendors cook a number of different fish over hot coals. The dish is made by marinating the fish in a mixture of spices, such as turmeric, garlic, and chili and then grilling it over hot charcoal until it is cooked through and slightly charred. The fish is often served with a side of steamed rice, vegetables, and a spicy sambal or chili paste.
11. Tahu Campur

A traditional food from Surabaya, Indonesia, which literally means mixed tofu. It’s one of the tofu dishes vegetarians need to be careful with because there’s meat in it.
The dish is made by boiling the tofu and noodles in a broth made from chicken or beef bones, and then adding a variety of vegetables such as bean sprouts, cabbage and carrots.
12. Krengsengan

Originally from Surabaya the traditional recipe is a spicy lamb stew although today you may see it made with beef, chicken or goat. The dish is made by sautéing the meat with a variety of spices such as shallots, garlic, ginger, chili, tamarind, lemongrass and then simmering it in a broth. It is a common street food sold with rice or noodles, particularly around schools.
13. Tahu Tek

Tahu tek is a popular street food in Surabaya, Indonesia. It’s a vegetarian dish made with tofu, vegetables and a spicy peanut sauce. The dish is made by frying the tofu until crispy, and then slicing it into small pieces. It is served on a bed of bean sprouts, boiled potatoes and boiled eggs. The dish is then dressed with a spicy peanut sauce made from ground peanuts, chili, tamarind, and other spices, mixed with palm sugar and water to create a sweet and spicy flavor.
They say it’s called tek because of the sound the street vendors make with scissors as they cut the tofu.
14. Soto Ayam Lamongan

Soto ayam Lamongan is a traditional chicken soup dish from Lamongan, a city in East Java. I’m not sure you can walk a block in Surabaya without seeing someone selling this in the street.
This Indonesian soup is made with shredded chicken meat, vermicelli noodles, and a variety of herbs and spices, such as lemongrass, garlic, and turmeric. It’s light, clean and delicious.
15. Soto Madura

Madura food is very popular in Surabaya as there is a large population of people from Madura Island. Their food is also loved by everyone as Madurans are known to be excellent cooks.
This soto, or soup is made from beef in a fragrant broth of onion, garlic, ginger and turmeric. Fried potatoes and boiled egg is often added. Sometimes it’s also made with chicken or ayam.
16. Soto Babat

If you like offal, you need to try this food in Surabaya. This cow tripe soup is served in a spicy yellow broth with vermicelli noodles, potato and vegetables. If you need more carbs there’s also the option for rice on the side.
17. Nasi Campur Surabaya

Nasi campur isn’t really a type of food in Surabaya but a style of eating. It is similar to nasi Padang where you find dishes behind in glass and point to what you would like to eat.
What I like about nasi campur in Surabaya is that there are so many vegetables. As it’s a port city, there’s seafood as well as chicken, beef and sometimes goat or lamb. And there’s almost always tempeh and tofu.
Nasi means rice so it’s served with rice, although most of the time I request no rice. It’s a very local way to eat so find a place that is busy as food turns over often. It’s also usually one of the best places to try traditional Surabaya food on a budget.





