The sauce is the first thing you notice. It is almost black and thick enough to hold a spoon's trail, and it is stirred together with the salad right on the stone plate it was ground on. Under it are slices of tender boiled beef, wedges of rice cake, pineapple and young mango, cool cucumber, crisp jicama, fried tofu and tempeh. Rujak cingur is a street salad from Surabaya in East Java. In each mouthful you taste the deep savoriness of fermented shrimp, the sourness of tamarind, the sweetness of palm sugar and the richness of peanuts, and the chewy meat sets it apart from every other salad on the table.
A Black-Sauce Salad from Surabaya's Street Stalls
The name and the meat
Cingur is the snout and the area around a cow's mouth. In Surabaya it is boiled until tender and then fried quickly before it is sliced into the salad, and that meat gives the dish its name. Outside Indonesia beef snout is hard to buy. Beef cheek (pipi sapi) is the usual stand-in and has a similar springy chew once it is fully tender.
The word is usually explained as Javanese for "mouth." Rujak covers a whole family of Indonesian mixed dishes, so the second word tells you which one is coming. This one has meat and black petis sauce. Rujak buah is a fruit rujak, and rujak bulung from Bali is made with seaweed.
The dish is usually traced to the colonial period, and it spread as a street food in Surabaya. Exactly where it started is not settled. Some stalls have run for decades. Rujak Cingur Joko Dolog, one of the best known in Surabaya, dates from the 1970s. Each stall balances its sauce differently, so you will find more petis in one bowl and more peanuts in the next. Its home is one corner of a large food map, and you can explore the rest from the Indonesia country page.
Two ways to order it
In Surabaya you can order rujak cingur in two styles. Matengan means "cooked." It has no fruit and is built from boiled vegetables, fried tempeh and tofu, yellow noodles and cingur. The biasa, or regular, style adds fruit. The recipe below is a biasa plate: pineapple, jicama, cucumber and young mango go on top of the cooked vegetables, beef and lontong.
How it differs from its neighbours
Gado-gado, pecel and karedok are also Indonesian vegetable salads under a peanut sauce, and from a distance they look similar. Rujak cingur is built on three different things: petis udang, the black shrimp paste ground into the sauce, the boiled cingur, and lontong, rice cooked and pressed into a firm roll. At the stall the plate comes with fried shallots, kerupuk crackers and extra chili on the side. Everything gets mixed with the sauce before the first bite.
Ingredients

Petis udang and terasi are both fermented shrimp products, so this dish contains crustaceans. The sauce is built on peanuts, and tempeh and tofu are soy. If you use shrimp crackers instead of tapioca kerupuk, they add more shrimp.
Equipment
- Large pot and a skimmer or ladle
- Bamboo skewer
- Cutting board and sharp knife
- Small pan or pot for frying
- Colander and a kettle for boiling water
- Stone mortar and pestle (cobek and ulekan) or a Japanese suribachi mortar
- Small bowls for the tamarind water and cooled boiled water
Choosing and Substituting
Three things make this taste like Surabaya: the fermented shrimp depth of petis udang, the sourness of tamarind and the sweetness of palm sugar, all held together by peanuts. Buy those properly and you can be flexible with everything else.
| Ingredient | What to buy | What a swap changes |
|---|---|---|
| Petis udang | Look for "petis udang" at an Indonesian or Southeast Asian grocer, or online | Plain petis or dried shrimp (ebi) will not give the same sauce. Oyster sauce in an emergency makes it dark and savory, but the fermented shrimp character is gone |
| Cingur | Rarely sold abroad | Beef cheek is the usual stand-in and keeps the springy chew. Beef tongue is firmer and smoother, so the texture changes |
| Pisang batu | Hard to find outside Indonesia | An unripe green banana, ground the same way |
| Tamarind | Blocks, paste and canned tamarind all work | Strengths vary widely, so add tamarind water to taste and check the sourness |
| Jicama | Latin American and Asian grocers | Daikon can replace part of it. It is crunchier and sharper, with less sweetness |
| Young mango | Asian grocers, sold green and hard | Green papaya or a tart green apple gives the sourness with a different texture |
| Pineapple | Fresh | Canned pineapple is sweeter, so use less |
| Water spinach | Asian grocers | Komatsuna, cooked the same way, is denser and less slippery |
| Tempeh | Frozen tempeh works well | Thaw it before frying |
| Tofu | Firm tofu that you fry yourself | Ready-fried thick tofu soaks up less sauce |
| Lontong | Ready-made packs | Plain cooked rice works, but you lose the firm, sliceable bite |
| Kerupuk kanji | Asian grocers | Shrimp crackers give a similar crunch |
Petis is a different product from terasi, the firm block of shrimp paste, and from dried shrimp. You want thick, glossy, near-black petis udang in a jar. It is the ingredient you cannot replace, so buy it before anything else.
Method
Start with the beef, since it needs the most time and simmers mostly unattended. While it cooks, slice the fruit, blanch the greens and fry the tempeh, tofu and garlic. Grind the sauce last, just before you plate, so it is fresh when it goes over the salad.
The sauce decides the dish. Add the tamarind water and cooled boiled water a little at a time and stop when it is thick enough to flow off the spoon in a slow ribbon. A sauce that is too thin slides off the fruit and pools on the plate.
Pat the tempeh and tofu dry before they go in, and lower them into the oil away from you so it does not spatter. Let the frying oil cool completely in the pan before you move or discard it.
When It Goes Wrong
| What you see | Why | What to do |
|---|---|---|
| The beef is tough and springs back on the knife | It came out of the pot too early | Return it to the simmering water and keep cooking until the skewer slides in freely |
| The sauce is pasty and tastes too strong | Too little liquid for the petis and peanuts | Stir in more cooled boiled water a spoonful at a time |
| The sauce runs thin and pools on the plate | The vegetables went on wet, or too much water went into the sauce | Drain the greens and sprouts well and pat the fruit dry. Next time add the water more slowly |
| The sauce is flat, sweet and missing depth | Plain petis or dried shrimp replaced petis udang, or the pineapple was canned | Use petis udang, choose fresh pineapple, or cut back the canned fruit |
| The peanut paste is gritty | The base was not ground long enough before the liquid went in | Grind the base fully smooth before you add the petis and water |
Serving, Variations and Keeping
At the table

In Surabaya rujak cingur is served on the stone cobek, and the eater mixes everything thoroughly with the sauce before starting. Do the same on your plate so every piece of fruit and meat is coated. The kerupuk goes on top or alongside, the fried shallots go over at the end, and the chili lets each person set their own heat. With lontong under it, the plate is a full meal.
Variations

- Matengan style. Leave out the fruit and add yellow noodles alongside the boiled vegetables, tempeh, tofu and beef. The plate becomes heavier and more savory, and the petis comes forward with no fruit to cut it.
- Fried cingur. After slicing, fry the meat briefly in hot oil. The edges firm and brown, and the slices hold their shape better under the sauce.
- More heat. Grind a fresh chili into the sauce with the peanuts so the whole plate is hot, instead of serving it on the side.
Keeping
The sauce is made with cooled boiled water and is never cooked, so do not leave the plated salad at room temperature. Make only as much as you will eat and finish it that day. After opening, keep the petis udang and terasi in the refrigerator and use them up soon.
Frequently Asked Questions
Can I use beef tongue instead of cheek?
Yes. Simmer it the same way until a skewer slides in. Tongue is smoother and firmer than cheek, so the plate loses some of the springy chew that cingur gives. Slice it thinly so the sauce coats it well.
Is rujak cingur spicy?
The sauce in this recipe has no chili in it. The heat comes from fresh chili served on the side, so each person decides how hot their plate gets. For a hot sauce, grind the chili in with the peanuts.
Why use boiled water for the sauce?
The sauce is never heated after you mix it. Water that has been boiled and cooled thins it without bringing in raw tap water. That is also why the dressed salad is eaten soon after it is made.
Do I need a stone mortar?
A cobek grinds the peanuts and banana into a smooth, sticky paste, and at the stalls the salad is mixed and served in the same stone plate. A Japanese suribachi mortar also does the job well. Whatever you use, grind until no whole peanut pieces are left.













