Soto Madura: East Javanese Clear Turmeric Beef and Offal Soup

Soto Madura: clear golden-yellow beef broth with beef, honeycomb tripe and offal, topped with scallion, fried shallots and koya, a lime half on the rim
Level
Intermediate
Cuisine
Indonesian

Soto Madura is the clear yellow beef and offal soup of East Java. Learn to strain the broth clear, fry the spice paste, swap the offal, and grind koya.

Cooking flow

Cooking steps

STEP 11 / 11

Clean the tripe and offal

STEP 1

Wash the honeycomb tripe well under running water, rub it all over with a little salt and flour, and rinse until the water runs clear. Turn the small intestine inside out and rinse it the same way. Blanch the tripe, intestine and lung in a separate pot of boiling water, then pour that water away. Move on when the offal smells clean and the tripe looks pale.

STEP 22 / 11

Bring the meat and offal to a boil

A large pot of beef and tripe coming to a boil from cold water, scum rising
The foam collects at the rim while the water underneath stays mostly clear

Put the water, beef, tripe, intestine and lung into the large pot and set it over high heat. Bring it to a full boil. As it comes up, foam gathers at the edges. Move on when the surface of the meat has turned grey-brown and the scum has risen.

STEP 33 / 11

Cut the meat and strain the broth

Broth strained through a muslin-lined sieve, clear soup collecting below
The grey residue stays in the cloth; that is everything that would have clouded the soup

Lift the beef and offal out onto a board and cut everything into 1¼-inch (3 cm) cubes. Set the cloth-lined sieve over the heatproof bowl and pour the broth through it. Throw away the scum and residue left in the cloth. The broth that comes through should be pale gold and clear.

STEP 44 / 11

Simmer the meat back in the clear broth

Cubed beef and tripe back in the strained broth, simmering quietly over low heat
At the right heat the surface stays almost transparent, with only a thin sheen of fat

Rinse the pot, pour the strained broth back in and bring it up to a boil again. Return the cut beef and offal. Lower the heat until only small bubbles break at the edge, and keep it there, skimming anything that rises. Simmer until a skewer slides into the beef with no resistance and the tripe is tender.

STEP 55 / 11

Grind the spice paste

STEP 5

Toast the candlenuts in a dry pan until they smell nutty. Roast the turmeric in the same pan or over a flame. Grind them with the shallots, garlic, coriander seed, ginger and pepper in a mill or mortar. The paste is ready when it is thick and smooth, bright yellow-orange, with no whole seeds left.

STEP 66 / 11

Fry the paste with the aromatics

Yellow spice paste frying in a wok with kaffir lime leaves, galangal and lemongrass, the oil turning reddish-brown
When the oil separates around the paste and looks red-gold, the paste is ready for the pot

Heat the 3 tbsp oil in a wok over medium heat. Add the paste with the kaffir lime leaves, galangal and lemongrass, and stir as it fries. Keep it moving so it never catches on the bottom. Stop when the paste has darkened, the oil has turned reddish-brown and the raw smell of garlic is gone.

STEP 77 / 11

Stir the paste into the pot

Fried spice paste going from the wok into the broth, the soup turning golden
The color spreads out from where the paste lands; stir once and it carries through the whole pot

Scrape the fried paste and every bit of its oil into the simmering broth, leaves and stalks included. The oil carries most of the aroma. Stir once so it spreads across the surface. Watch the broth turn from pale to yellow to gold.

STEP 88 / 11

Season with salt and sugar

Salt and sugar going into the beef and offal soup as it simmers gently
Even after seasoning, the bubbles stay small and local; the broth should never roll

Add the 6 tsp salt and then the 6 tsp sugar, and stir until both dissolve. Keep the pot at a gentle simmer until everything is cooked through, with the center of the meat and offal at 167°F (75°C) for at least 1 minute. If the broth reduces, top it up with hot water. It is done when the meat and offal are tender to the center and the broth tastes rounded, salty and sweet.

STEP 99 / 11

Fry the crackers and garlic for the koya

STEP 9

Heat the oil for the koya in a small pan and fry the shrimp crackers until they puff fully. Drain them on paper. Fry the sliced garlic over low heat until it is evenly golden and lift it out before it darkens. Stop when the crackers are crisp all the way through and the garlic is golden.

STEP 1010 / 11

Grind the koya

Fried shrimp crackers, golden garlic and kaffir lime leaves ground in a mortar into koya powder
Finished koya is finer than grains of rice, so it settles on the broth like dust

Strip the two kaffir lime leaves from their stems and grind them in the mortar. Add the fried crackers and garlic and grind everything in a mill or blender. Keep going until it is a fine, pale beige powder. Set it in a small bowl with a spoon.

STEP 1111 / 11

Assemble the bowls

Beef and tripe in a bowl, hot broth poured over, garnishes ready beside it
Pour the broth over the meat in the bowl; koya and lime wait on the side until the last moment

Rinse the scallions, leaf celery and limes well under running water, washing the lime skins before cutting. Put a few pieces of beef and offal in the bottom of each deep bowl and ladle hot broth over them. Top with scallions, leaf celery and fried shallots, and put a lime half on the side. Sprinkle the koya just before eating. It is right when the koya sits on the surface and the bowl smells toasty and citrusy at once.

0 / 0
Ingredients

Ingredients

1 / 1

Ingredients

Ingredient Amount Role
Beef (daging sapi) 10½ oz (300 g) The body of the broth and the big chunks in the bowl
Water (air) 3¾ quarts (3.5 L) The broth
Honeycomb tripe (babat) 5 oz (150 g) Chew and gelatin
Beef small intestine (usus sapi), pre-boiled 5 oz (150 g) Deep offal savor
Beef lung (paru sapi), pre-boiled 5 oz (150 g) Spongy pieces that soak up broth
Kaffir lime leaves (daun jeruk), stems removed 4 Citrus aroma, fried with the paste
Galangal (lengkuas), bruised 1¼-inch (3 cm) piece Bright, sharp heat
Lemongrass (serai), white part only, bruised 3 stalks Lemony aroma
Salt (garam) 6 tsp The backbone of the seasoning
Sugar (gula pasir) 6 tsp Roundness and the East Javanese sweet-savory lean
Cooking oil (minyak goreng) 3 tbsp For frying the spice paste
Candlenuts (kemiri), toasted 4 Richness and a little body in the paste
Fresh turmeric (kunyit), roasted ¾-inch (2 cm) piece The yellow color and an earthy note
Shallots (bawang merah) 14 small The main sweetness
Garlic (bawang putih) 6 cloves The aromatic core
Coriander seed (ketumbar) 2 tsp Citrusy spice
Ginger (jahe) ¾-inch (2 cm) piece Warmth
Pepper (merica) 1 tsp The edge of heat
Scallions (daun bawang), thinly sliced 3 Green aroma at the table
Leaf celery (seledri), thinly sliced 3 stalks A cool, fresh note
Fried shallots (bawang goreng) 3 tbsp Toasty crunch on top
Limes (jeruk nipis) 3 Sourness squeezed in at the end
Shrimp crackers (kerupuk udang), for the koya 6 The base of the koya powder
Garlic, thinly sliced, for the koya 3 cloves Toasty depth in the koya
Kaffir lime leaves, for the koya 2 Citrus lift in the koya
Oil, for frying the koya as needed Frying the crackers and garlic
Steamed white rice as needed Served with every bowl
0 / 0

The moment the fried yellow paste slides off the spoon into the pot, the pale broth turns gold. Steam rises with lemongrass and kaffir lime leaf on it, and under that is the sweet depth of shallots and candlenuts. Soto Madura is the beef soup of East Java: big chunks of beef and offal in a clear, turmeric-yellow broth, eaten with rice, a squeeze of lime and a spoonful of koya. It tastes light and savory at first, then citrusy, then toasty as the koya melts into the surface.

Soto Madura: A Name That Travels, a Broth That Stays Clear

What sets this soto apart

Soto is a whole family of spiced soups across Indonesia, and each one has its own base. Soto Madura is the beef one: beef or offal in a clear yellow broth sharpened with turmeric, served with slices of egg and lime. The meat is cut in large pieces, and the bowl carries more offal than most sotos. It is light enough that people eat it for breakfast.

In East Java it sits beside soto Lamongan, a chicken soto also finished with koya, and the two are separate dishes. Soto ayam is built on chicken. Soto Betawi is beef too, but coconut milk or milk turns it white. Soto Madura is kuah bening, a clear broth with no coconut milk, so there is nothing to split or curdle as it simmers. Some bowls get loaded with boiled egg, fried potato, bean sprouts, rice vermicelli and cabbage; the pot here keeps to beef, three kinds of offal, aromatics and koya. For more of the country's cooking, see Indonesia.

Where the name comes from

The name points at the island of Madura, but the story points to Surabaya. One account holds that Warung Soto Sulung in Surabaya was already serving soto Madura in the 1970s and 1980s, and that it only began to be sold on Madura itself around 1988. By that telling, "soto Madura" was what people called the soto sold by cooks from Madura, and the name followed the cooks rather than the place.

Where soto itself began is not settled either. It is often traced to 19th-century Semarang and a Chinese-Indonesian dish called caudo or jao to; another explanation links the word to shao du. The early sellers carried their pots on a shoulder pole, the pikulan, and the middle class looked down on it as unhygienic street food. The Chinese marks are still easy to see in the bowl: noodles or rice vermicelli, boiled egg, bean sprouts, offal, fried garlic and the Chinese-style soup plate.

The name on the sign

"Soto Madura" on a stall in Surabaya may be read as "soto the way Madurese cooks sell it," which would explain how the dish came to be found far from the island.

On the island itself

Madura has no single version. In Pamekasan it is made with chicken. In Sumenep it comes with beef small intestine and boiled cassava. In Bangkalan it is served with petis paste and young banana. Across East Java the bowl tends to arrive with koya, petis, peanut sambal and lime, a brighter finish than sotos elsewhere. The pot below is one of these forms: beef with tripe, intestine and lung, finished with koya.


Ingredients

Soto Madura ingredients laid out in a home kitchen: beef, tripe, kaffir lime leaves, lemongrass, galangal, fresh turmeric, shallots, garlic, candlenuts and coriander seed
Keep the koya crackers, garlic and lime leaves in their own pile so they never end up in the soup pot

The seven paste ingredients split into three jobs. Turmeric gives the color. Shallots, garlic and candlenuts give the sweet depth. Coriander, ginger and pepper give the spice. The kaffir lime leaves, galangal and lemongrass stay whole and go into the frying oil with the paste.

Keep the meat weight whole

If you replace any of the offal with beef, replace it at the same weight. Less meat in the same water and seasoning makes the broth saltier.

Allergen information

The koya contains shrimp crackers (crustacean). Candlenuts are tree nuts, as are macadamias if you use them instead. Petis, if you serve it, is a shellfish product: buy it ready-made and never ferment it at home.

Equipment

  • A deep pot of about 5 quarts (5 L), around 9½ inches (24 cm) across
  • A second pot for blanching the offal
  • A fine sieve lined with damp muslin or cheesecloth, set over a large heatproof bowl
  • A skimmer or slotted spoon
  • A wok or wide skillet for frying the paste
  • A spice mill, small blender, or large mortar and pestle
  • A small pan for frying the koya
  • An instant-read thermometer
  • Deep soup bowls

Choosing and Substituting

Beef, scallions, celery, limes, garlic, ginger, salt, sugar and oil come from any supermarket. The rest is an Asian grocer or an online order: galangal, lemongrass, kaffir lime leaves, fresh turmeric, whole coriander seed, candlenuts, shrimp crackers and honeycomb tripe. Small intestine and lung are the hardest to find abroad, and they are the only things worth letting go of.

Keep this Why it matters
Turmeric yellow It is a color and an earthy note, never a curry flavor
A clear broth with no coconut milk The clear broth is what makes this soto Madura
Shallot, garlic and candlenut depth with lemongrass and lime leaf citrus Together they give the sweet-then-bright sip
Lime and koya at the very end They change the bowl at the table
  • Small intestine and lung → beef belly or beef shank at the same weight. Shank adds gelatin and a fuller body; belly adds fat. The offal aroma, the silkiness and the spongy bite go with them.
  • Honeycomb tripe → ask a butcher or Asian grocer for beef honeycomb tripe. It always needs cleaning and blanching first.
  • Candlenuts → macadamia nuts. The paste tastes lighter. Toast them the same way.
  • Kaffir lime leaves → frozen leaves work well. Lime zest is the last resort, and its aroma fades in the heat.
  • Lemongrass → frozen or dried. Dried is weaker. Lemon zest stands in when there is none.
  • Galangal → ginger. The heat turns warmer and sweeter instead of sharp.
  • Small shallots → red onion. It holds more water, so it takes longer to fry down.
  • Shrimp crackers → plain kerupuk udang from an Asian grocer, or the most lightly seasoned shrimp crackers you can find.
  • Limes → bottled lime juice for squeezing in.

Method

Clean the offal first. The long, hands-off stretch is the gentle simmer in step 4; grind the paste and make the koya while the meat cooks, so everything is ready when the meat is tender. The two moves that decide the bowl are straining the first broth and never letting the pot boil hard afterward.

Strain once, then keep it quiet

The cloth in step 3 is what keeps the broth clear. From step 4 on, hold the pot below a rolling boil; a hard boil churns fat and protein back into the soup.

Koya goes on last

Stirred into the pot or sprinkled too early, koya sinks and its aroma never rises. Pass it at the table so each person adds it to their own bowl.

Cooking offal and hot oil

Cook beef and offal until the center reaches 167°F (75°C) for at least 1 minute; offal in particular must be thoroughly cooked. Fry the crackers and garlic in a small pan with a dry spoon and keep water away from the hot oil.

When It Goes Wrong

What you see Why What to do
Cloudy broth The first broth was not strained, the pot boiled hard, or the scum stayed in Lower the heat to a bare simmer and skim; next time strain through cloth and keep the boil gentle
Tough beef Not enough time over low heat Keep simmering gently until a skewer slides in with no resistance
Tripe still firm when the beef is tender Tripe takes longer Lift the tripe into a separate pot with some broth and keep it simmering until tender, then return it
Offal smells strong Skipped blanching, or the blanching water stayed in Always blanch the offal separately and pour that water away before it goes into the main pot
Broth too strong Too much liquid has cooked off Add hot water a little at a time
Bitter edge The paste scorched in the wok Fry it over medium heat and keep stirring; scorched paste has to be made again

Serving, Variations and Storage

At the table

Soto Madura goes on the table with a plate of plain white rice for each person, a lime cut in halves, a dish of fried shallots and the bowl of koya. Slices of boiled egg are a common addition. For heat, serve a sambal on the side: boil 10 red bird's-eye chilies, 2 long red chilies and 2 toasted candlenuts, then grind them with ¼ tsp salt. Everyone squeezes in lime, spoons in koya and sambal to their own taste, and alternates soup with rice.

A home table with a bowl of soto Madura, white rice, koya, lime, fried shallots and sambal
Rice, koya, sambal and lime all stay in their own dishes so each person builds their own bowl

Variations

  • Extra koya. Make a double batch and keep adding it as you eat. The second half of the bowl turns noticeably toastier and thicker.
  • Sambal kept apart. Serve the sambal only in its own dish. Children get a mild bowl with koya and lime, and the adults add the heat.
  • Breakfast bowl. Put rice in the bottom of the bowl and pour the soup over it, then add slices of boiled egg. It eats as one light, filling dish.

Storing leftovers

Divide leftover soup into shallow containers so it cools quickly, then refrigerate it, with the fridge at 50°F (10°C) or below. To reheat, bring it back over the heat until it reaches 167°F (75°C) or above.

Frequently Asked Questions

Can I skip the koya?

You can, and the soup is still good with lime and fried shallots. The koya is what gives the bowl its toasty, thickened finish, though. Even a quick koya of fried shrimp crackers and garlic is worth making.

I only have ground turmeric. How much do I use?

Start with a little and add more while watching the color of the broth. Stop at a clear, bright yellow. Too much powder turns the color harsh and leaves a medicinal smell.

Isn't 6 teaspoons of salt a lot?

It is a strong seasoning because the broth is meant to be eaten with rice, not drunk on its own like a consommé. For a lighter pot, you can make an editorial change of our own: start with 4 to 5 tsp salt, taste with a spoonful of rice, and add more lime at the table. The balance shifts toward sour and fresh.

Can I use candlenuts raw?

No. Always toast them in a dry pan before grinding them into the paste. The same goes for macadamias if you use them instead.

Sources