Rawon: Black Beef Soup Darkened With Keluak
East Java's beef soup, its colour and its bitter-savoury depth both drawn from a single black nut

Contents
↓ Jump to recipeRawon is the one soup in Indonesian cooking that announces itself before it’s tasted. The broth is black — not dark brown, not deeply reduced, actually black, close to the colour of strong coffee — and the colour comes from a single ingredient with no real substitute: keluak, the seed of the Pangium edule tree, native to the mangroves and riverbanks of Southeast Asia. Raw, the seed is lethally toxic, containing enough hydrogen cyanide to kill an adult; buried in banana leaves and ash for weeks or months, it ferments into something entirely different — a black, oily, faintly bitter paste that turns any broth it touches the colour of ink and gives it a flavour unlike anything else in the region’s pantry.
Rawon: Black Beef Soup Darkened With Keluak
Ingredients
- 1kg beef shin or brisket, cut into large chunks
- 2 litres water
- 8 pieces keluak (buah kluwek), shells cracked, flesh scooped out
- 6 shallots, peeled
- 5 cloves garlic, peeled
- 4 candlenuts, toasted
- 20g fresh turmeric, peeled, or 1 tbsp ground turmeric
- 20g fresh galangal, peeled and bruised
- 3 red chillies, deseeded
- 2 stalks lemongrass, bruised and tied in a knot
- 4 kaffir lime leaves, torn
- 3 Indonesian bay leaves (daun salam)
- 3 tbsp vegetable oil
- 1 tbsp tamarind pulp, mixed with 3 tbsp water and strained
- 1 tsp palm sugar, grated
- 2.5 tsp salt, plus more to taste
- 150g beansprouts, blanched
- 4 salted eggs, halved
- 4 tbsp fried shallots
- sliced red chilli and lime wedges, to serve
- steamed rice, to serve
Method
- Put the beef in a large pot with the water. Bring to the boil, skim off the scum, then reduce to a bare simmer, cover and cook for 1.5-2 hours until the meat is tender enough to pull apart with a fork.
- While the beef simmers, blend the keluak flesh, shallots, garlic, candlenuts, turmeric, galangal and chillies to a smooth, very dark paste.
- Fry the paste in the oil over medium heat for 8-10 minutes, stirring constantly, until it deepens to a near-black colour and the raw smell is gone.
- Add the lemongrass, kaffir lime leaves and bay leaves to the pan and fry a further minute to release their oils.
- Scrape the whole mixture into the pot with the beef and its broth.
- Stir in the tamarind water, palm sugar and salt, then simmer uncovered for 30-40 minutes until the broth has thickened slightly and turned a deep, glossy black-brown.
- Taste and adjust: the broth should be savoury and faintly bitter-sweet with a clean sour edge from the tamarind, not flat or one-note.
- Divide the beef and broth between bowls over a mound of blanched beansprouts.
- Top each bowl with half a salted egg, fried shallots and sliced chilli.
- Serve with steamed rice and lime wedges alongside.
A dish from Surabaya’s markets, older than most people assume
Rawon is most closely associated with Surabaya and the wider East Java coast, where it’s sold from street carts and market stalls as an everyday lunch rather than a special-occasion dish. Food historians place its origins earlier than most Javanese soups still eaten today, with keluak-blackened broths mentioned in accounts of Javanese court kitchens well before the more turmeric-forward sotos became widespread — some trace it to the Majapahit era, the Hindu-Buddhist empire that controlled much of Java and its trade routes from the thirteenth to the sixteenth century, though the written record for a specific dish that far back is thin. What’s better documented is rawon’s status through the colonial and early independence periods as working food: cheap cuts of beef, simmered for hours until they surrendered, in a broth built from a foraged forest ingredient that needed no imported spice to make it distinctive.
What keluak actually is, and why it can’t be swapped out
Keluak arrives at market already processed — the raw seed is never sold for cooking, since the fermentation and burial process is what removes its toxicity. What you buy is a hard, dark shell that needs cracking (a small hammer or the back of a cleaver does the job) to reveal a black, paste-like flesh inside, closer in texture to a thick tapenade than to any nut most cooks will have handled before. That flesh has a flavour genuinely hard to compare to anything else: bitter in a way that reads more like coffee or dark chocolate than like an unpleasant bitterness, faintly earthy, and carrying a savoury depth close to a very good stock reduction. Once blended into the spice paste and fried, it turns the whole pot black within minutes.
There is no real substitute for keluak in rawon — black bean paste or squid ink get suggested online, but neither has the same bitter-savoury profile, and both change the dish into something else rather than approximating the original. If your only option is a jar of pre-shelled, pre-scooped keluak flesh from an Asian grocer, that’s a perfectly legitimate shortcut and saves considerable time cracking shells at home; just check the paste smells earthy and faintly sweet rather than sour, which would suggest it’s turned.
Building the black paste and why the long fry matters
The keluak paste needs a genuinely long fry — eight to ten minutes, stirring constantly, considerably longer than most spice pastes in Indonesian cooking. Keluak’s flesh is oily and dense, and it needs sustained heat to release that oil and let the rest of the aromatics — shallot, garlic, candlenut, turmeric, galangal and chilli — cook through properly rather than sitting raw inside a dark paste. Skimp on the fry and the finished broth tastes muddy rather than complex, with a raw allium edge undercutting the keluak’s deep, roasted flavour. Done properly, the paste turns almost black itself before it ever reaches the pot, and the kitchen fills with a smell closer to dark-roasted coffee and toasted spice than to anything typically associated with a beef soup.
Tamarind is added after the paste and beef have combined, not before, because its acidity needs the full hour of simmering with the meat to integrate rather than sitting sharply on top of the broth. The final balance you’re after is savoury first, with the keluak’s bitterness underneath, and a clean sourness from the tamarind at the very end of the mouthful — each element should be identifiable rather than blurring into a single dark flavour.
Rawon setan and the dish’s late-night reputation
Surabaya’s most famous rawon stalls trade under the name “rawon setan” — devil’s rawon — a nickname earned entirely by opening hours rather than by anything in the bowl: the original stall by that name has operated deep into the night for decades, feeding shift workers, night-market traders and anyone else awake at two or three in the morning with nowhere else to eat. The name stuck to a whole category of late-night rawon stalls across the city, distinct from the daytime market version mostly in when the pot gets ladled out rather than in the recipe itself. It’s a useful reminder that rawon was never really designed as a delicate dish to be savoured slowly — it’s built to be filling, cheap to produce in bulk from a tough cut of beef, and satisfying enough to justify eating at an hour when little else is open.
Some stalls add pete, the large flat stink bean common across Southeast Asia, either whole or halved into the broth for anyone who wants its distinctive sulphurous punch alongside the keluak’s bitterness. It’s a genuinely divisive addition even within Indonesia — plenty of regular rawon eaters skip it entirely — so it’s included here as a note rather than an ingredient, worth trying only if you can already find pete at a specialist grocer and know you like its flavour in other dishes.
The cut of beef, and why shin earns its place here
Beef shin, cut from the leg and heavily worked with connective tissue, is the standard cut for rawon, and it’s worth resisting the temptation to use a leaner, quicker-cooking cut instead. Shin’s collagen breaks down slowly over ninety minutes to two hours of gentle simmering, releasing gelatine into the broth that gives rawon a faint body and richness a leaner cut can’t provide, alongside meat that shreds easily rather than needing to be cut with a knife. Brisket works as a close substitute if shin isn’t available, though it renders slightly fattier broth that benefits from being skimmed once or twice during the simmer. Whatever cut you use, resist boiling hard — a rolling boil toughens the outside of the meat before the inside has had time to soften, where a bare simmer gives collagen the slow, even heat it needs to break down properly.
What to check before you buy keluak
Not every packet of keluak sold outside Indonesia is equally reliable. Look for shells that feel heavy for their size and don’t rattle when shaken — a rattling shell usually means the flesh inside has dried out and shrunk, which gives a weaker colour and a duller flavour once blended. If you’re buying pre-shelled tubs of keluak paste rather than whole shells, check the use-by date carefully; the paste oxidises and loses its distinctive bitter-sweet edge faster than the whole, shelled seed does, and a tub that’s sat too long on a shelf will still turn the broth black without giving much of the flavour that black colour is supposed to promise.
Salted egg, beansprouts and the crunch the broth needs
Rawon is served with the same instinct that drives soto’s toppings: the broth is rich and intensely flavoured, so the bowl needs textural relief rather than more depth. Salted egg, halved so the deep orange, slightly grainy yolk shows, adds a savoury creaminess that plays against the broth’s bitterness — the salting process, traditionally done by burying duck eggs in salted clay or brine for several weeks, concentrates and firms the yolk in a way fresh egg can’t replicate, which is why it’s worth sourcing a jar of ready-salted duck eggs rather than trying to substitute a boiled hen’s egg. Beansprouts, blanched only briefly, give the one crisp element in an otherwise entirely soft dish, and a scattering of fried shallots on top adds the final crunch before the bowl reaches the table. Rice, served alongside rather than in the bowl, is there to soak up the broth by the spoonful — rawon is rarely eaten as a standalone soup the way a clear broth might be.
Storage, and why rawon is better the next day
Rawon keeps for up to four days refrigerated and, unusually for a dish built around fresh aromatics, genuinely improves on day two: the keluak’s flavour continues to bind into the broth overnight, and the beef keeps softening in the residual heat of reheating. Freeze the broth and beef together for up to three months — it holds its flavour far better frozen than most brothy dishes, likely because the keluak’s natural oils protect the more delicate aromatics like lemongrass and lime leaf from the flavour loss that usually comes with freezing. Reheat gently rather than at a rolling boil, and add the toppings — egg, beansprouts, fried shallots — fresh each time rather than storing them with the broth.
Fat rendered from the beef during the long simmer is worth skimming once or twice rather than left to sit — a layer of fat on top of an already dark broth makes rawon look heavier than it tastes, and skimming keeps the black colour glossy rather than greasy on the surface. Some cooks reserve a spoonful of that rendered fat and fry the spice paste in it instead of plain vegetable oil, which adds a rounder, more savoury depth to the paste than oil alone provides — a good use for the fat if you’ve got a heavy-handed cut of shin with plenty to spare.
For a related Javanese soup built on a similarly fried spice paste but a lighter, turmeric-gold colour rather than keluak’s black, soto ayam shares much of rawon’s technique — the paste fried until dark, the broth simmered with lemongrass and lime leaf — while landing somewhere entirely different in colour and weight. And if the idea of a long, low, hours-long braise built around a single defining ingredient appeals, gudeg, from further west in Central Java, applies the same patience to young jackfruit rather than beef, simmered for hours until it turns a deep reddish brown.




