Soto Kudus in a small bowl: rice, shredded chicken, bean sprouts and fried shallots under a clear spiced broth, with lime and sweet soy sauce on the side
Serves4 servings
CuisineIndonesian

Soto Kudus: Central Javanese Spiced Chicken Soup over Rice

Soto Kudus is the clear spiced chicken soup of Kudus, Central Java, eaten over rice in small bowls. Learn the spice paste, the oil-separation cue and swaps.

Level: Intermediate

Cooking flow

Cooking steps

STEP 11 / 8

Grind the spice paste

Grinding shallots, garlic, ginger, candlenuts and spices into a smooth paste in a granite mortar
The paste is ready when it is smooth, thick and deep yellow, with no white flecks of candlenut

Peel the shallots and garlic and slice the ginger. Pound them in the mortar with the candlenuts until they break down, then add the turmeric, coriander and white pepper. Keep grinding until the paste is smooth, thick and deep yellow, with no visible bits of nut. In a food processor, scrape down the sides once or twice to get the same smoothness.

STEP 22 / 8

Bring the chicken up and skim

Skimming grey-white foam from bone-in chicken simmering in water
Skim into a separate bowl so the foam does not slide back into the pot

Put the chicken, the cold water and 1 tsp of the salt in the deep pot. Bring it up over medium-high heat. As it nears the boil, grey foam gathers on the surface; lift it off with the ladle every time it forms.

STEP 33 / 8

Simmer the chicken until tender

STEP 3

Once it boils, turn the heat down to low so the surface barely trembles. Let it simmer quietly while you fry the paste, skimming any last foam. A hard boil churns fat and foam back into the broth and turns it murky. The chicken is ready when the meat pulls away from the bone at a nudge of the tongs.

Skim early, simmer low

A clear broth is made in the first minutes. Catch the grey foam before the pot reaches a full boil, then keep the heat low for the rest of the cooking.

STEP 44 / 8

Fry the paste with the leaves

Spice paste frying with lemongrass, kaffir lime and salam leaves until the oil separates
Look at the edges of the pan: a ring of yellow oil standing apart from the paste is the cue

Heat the oil in the frying pan over medium heat. Add the paste, lemongrass, kaffir lime leaves and salam leaves, and stir steadily so nothing catches on the bottom. The sharp raw smell of shallot and garlic fades into a toasted, sweet one. Keep frying until oil seeps out around the edges of the paste and it looks glossy rather than wet.

Wait for the oil

When the paste comes off the heat too soon, the broth tastes raw and the shallot smell stays. The separated oil is your sign that the paste and the candlenuts are cooked through.

STEP 55 / 8

Season the broth with the paste

Fried spice paste being scraped into the uncovered pot of chicken broth
Keep the lid off and the bubbles small; the broth stays clear and the aroma moves into it

Scrape the fried paste and all the leaves into the chicken pot. Add the remaining 1 tsp salt and the sugar. Simmer uncovered over low heat until the broth has taken on the aromatics. It is ready when it smells of lemongrass and lime leaf and has turned a light golden yellow.

STEP 66 / 8

Shred the chicken

Hands pulling poached chicken from the bone and shredding it into strands
Poached chicken stays pale and moist; thin strands soak up the broth in the bowl

Lift the chicken onto a board with tongs and leave the broth on low. When the pieces are cool enough to handle, pull the meat off the bones. Tear it with your fingers or two forks into long, thin strands, following the grain of the meat. The chicken is right when it is all soft, fine shreds.

STEP 77 / 8

Blanch the sprouts and fill the bowls

STEP 7

Put the bean sprouts in a colander and pour hot water over them, then drain well. Spoon rice into the bottom of each bowl. Divide the sprouts between the bowls and lay the shredded chicken on top. The sprouts should look glossy and just softened while keeping their crunch.

STEP 88 / 8

Pour the broth and finish

Pouring hot golden broth through a strainer over rice, sprouts and chicken in a small bowl
Rest the strainer on the rim and pour slowly so the broth lands on the chicken without scattering the rice

Ladle the hot broth through the fine strainer into each bowl. The strainer holds back the lemongrass, leaves and any grit from the paste, so the bowl stays clear. Scatter spring onion and fried shallots over the top. Put the lime wedges and kecap manis on the table and serve at once, while it steams.

0 / 0
Ingredients

Ingredients

1 / 1

Ingredients

Ingredient Amount Role
Bone-in chicken, free-range if you can 2¼ lb (1 kg) The meat and the body of the broth
Water 2 quarts (2 L) Broth base
Indonesian bay leaves (daun salam) 3 Earthy, woody aroma
Kaffir lime leaves (daun jeruk purut), torn 4 Citrus aroma
Lemongrass (serai), white part, bruised 2 stalks The bright outline of the broth
Shallots (bawang merah) 8 Sweet base of the paste
Garlic (bawang putih) 5 cloves Paste
Fresh ginger (jahe) ¾-inch piece (2 cm) Warmth in the paste
Candlenuts (kemiri) 5 Body and richness in the paste
Ground turmeric (kunyit bubuk) ½ tsp Colour and aroma
Ground coriander (ketumbar bubuk) 1 tsp Aromatic base
Ground white pepper (merica putih) ½ tsp Heat
Salt (garam) 2 tsp, divided 1 tsp with the chicken, 1 tsp with the paste
Granulated sugar (gula) ½ tsp Roundness
Vegetable oil (minyak sayur) 3 tbsp For frying the paste
Bean sprouts (taoge) 5 oz (150 g) Crunch in the bowl, blanched
Spring onion (daun bawang), thinly sliced 2 tbsp Colour and fresh aroma
Fried shallots (bawang goreng) 3 tbsp Toasty finish
Limes (jeruk nipis), cut into wedges 2 Squeezed at the table
Kecap manis (Indonesian sweet soy sauce) 3 tbsp Sweet-salty seasoning at the table
Cooked white rice as needed In the bottom of each bowl
0 / 0

The yellow paste hits the hot oil and the kitchen fills with lemongrass and lime leaf. A few minutes later, oil starts to slip out from the edges of the paste, and that is the moment the soup is decided. In Kudus, a town in Central Java, the finished broth goes into a small bowl over rice, bean sprouts and shredded meat, with fried garlic scattered on top and a bottle of sweet soy sauce and a few limes waiting on the table.

Soto Kudus is a clear, light-yellow spiced soup made with chicken or water buffalo rather than beef. It tastes of ginger, coriander and white pepper, rounded by a pinch of sugar, and because the rice sits in the bowl, every spoonful brings grain and broth up together.

Why Kudus Cooks Its Soto Without Beef

Sunan Kudus and the cow

The story every account of this soup shares begins with Sunan Kudus, one of the Wali Songo, the saints who spread Islam across Java. Out of respect for the Hindu people living in Kudus, for whom the cow is sacred, he asked the town not to slaughter or eat cattle. Kudus kept to it. The town's satay is made from buffalo, its signature dishes lean on buffalo meat, and its soto is made with chicken or water buffalo, the two versions you find there today.

Which came first is not settled. One stall family in Kudus remembers soto as a chicken dish that gained a buffalo version after the saint's call. Another says the soup was first made with beef and moved to buffalo. A third account has buffalo first, slowly giving way to chicken because it cooks faster and stays tender. What all of them agree on is the absence of beef, and that is what makes this soup belong to Kudus. In 2007 Soto Kudus appeared on an Indonesian postage stamp, a face for the whole soto family of Indonesia.

Soto, coto and a buffalo by another name

Soto is the Javanese word for this family of spiced soups; in Makassar the same word becomes coto. Where the word itself comes from is not settled: one theory traces it to the Hokkien caudo, another to the Dutch stoof, a stew. The buffalo version is also called soto kerbau, or soto kebo, and in Kudus it is simply the other Soto Kudus, the buffalo twin of the chicken bowl.

Small bowls, and the big buffalo bowl

Most Soto Kudus comes in a small bowl, often porcelain, with rice already in the bottom, bean sprouts, slices or shreds of meat, celery leaf and a scatter of fried garlic. Satay usually sits alongside. In Kudus, the bowl at one long-running stall measures about 4½ inches across.

A larger bowl of the water-buffalo version of Soto Kudus with generous slices of buffalo meat
In Kudus the buffalo stalls serve bigger bowls, with thick slices that make one bowl a full meal

The buffalo stalls in Kudus itself break that rule. Their bowls are larger than elsewhere, the slices of buffalo are thick, and one bowl is a full meal. At Taman Bojana, the food court the regency built in the town, stalls such as Pak Ramidjan's, open since 1952, serve from half past six in the morning until ten at night. The soup also travelled. Jakarta has its own Soto Kudus counters, small bowls of clear spiced broth with chicken or buffalo, and some list it as soto campur nasi, soto mixed with rice.

Stall to stall

Every stall tunes its pot. Some broths are perfectly clear, others slightly cloudy: one cook fries the spice paste with a little coconut milk, another uses margarine and no coconut milk, and a splash of salty soy clouds the broth further. Some pots run a deep, strong yellow from turmeric; the recipe below gives a paler, light golden broth. On many tables in Kudus the sweet soy sauce is THG, made in the town, and some stalls build their flavour on terasi from Juwana in neighbouring Pati.

How it differs from its neighbours

Soto ayam in the Lamongan style is a turmeric-yellow chicken soup topped with koya, a powder of ground crackers, with rice noodles in the bowl. Soto Kudus carries no koya and no rice noodles, and its crunch comes from fried garlic. Soto Semarang looks close, also small and served with satay, but its broth is a clear brown, its satay sits in sweet soy, and it is topped with fried shallot, while Kudus satay comes dry. Soto Betawi from Jakarta is a different dish altogether, a white soup made with milk or coconut milk.


Ingredients (serves 4)

Ingredients for Soto Kudus laid out on a wooden board
The paste ingredients, the three leaves and the table condiments; cooked rice waits at the edge for the bowls
Allergen information

Kecap manis is a soy sauce and many brands contain wheat; check the label for anyone who avoids soy, wheat or gluten. The paste contains candlenuts, so tell anyone with a nut allergy. The soup itself uses no egg or dairy.

Equipment

  • Granite mortar and pestle, or a food processor
  • Deep pot that holds the chicken and 2 quarts (2 L) of water with room to spare
  • Frying pan
  • Ladle for skimming and serving
  • Tongs
  • Two forks, for shredding
  • Fine strainer
  • Colander, for the bean sprouts
  • Small deep soup bowls

Shopping and Substitutions

The supermarket covers the chicken, garlic, ginger, bean sprouts, spring onion, salt, sugar and oil. An Asian grocer or an online shop covers the rest: kecap manis, dried daun salam, frozen or dried kaffir lime leaves, lemongrass, candlenuts, white pepper and fried shallots. Store-bought fried shallots work as well as homemade.

What keeps the bowl tasting like Kudus is the trio of leaves and lemongrass, the candlenut body in the paste, and white pepper for heat.

Ingredient Swap What changes
Daun salam Bay laurel A different, more medicinal perfume; use it only if salam is impossible to find
Kaffir lime leaves Lemon peel Brighter and sharper, without the floral depth of the leaf
Shallots 1 small onion Works, and the paste turns slightly sweeter
White pepper Black pepper Heat stays, but dark specks show in the pale broth
Ground coriander Coriander seed, freshly ground More aroma; grind it fine so the paste stays smooth
Limes Lemon or sudachi Fine for squeezing; lemon is sharper
Candlenuts are cooked, always

Candlenuts are never eaten raw. In this soup they are ground into the paste and then fried until the oil separates, which is what cooks them. Buy whole nuts and keep the raw paste out of tasting spoons.


Method

The whole bowl takes about 1 hour 10 minutes. Grind the paste first, then start the chicken, because the pot does its gentle simmer while you fry the paste. The hands-off stretch is that simmer; the moves that decide the result are skimming early and frying the paste long enough.

Raw paste and hot oil

Do not taste the spice paste before it is fried: it holds raw candlenut. The paste spits when it meets hot oil, so add it carefully and stir with a long wooden spatula.

When It Goes Wrong

What you see Why What to do
The broth is grey and murky The pot boiled hard, or the early foam stayed in Turn the heat down at once and skim; next time catch the foam before the boil and keep the simmer gentle
The soup smells of raw shallot and garlic The paste left the pan before the oil separated Fry the paste longer next time; the toasted, sweet smell and the ring of oil are the cue
The broth tastes too salty All the salt went in at once, or salt was added on top of the two portions Count the salt as two separate teaspoons, one at each stage, and add nothing more before tasting at the table with kecap manis
The sprouts are limp and watery They sat in hot water or went into the pot Only pour hot water over them and drain; they finish warming under the hot broth
Grit and leaf bits in the bowl Broth poured straight from the pot Pour every bowl through the fine strainer

Serving and Variations

Soto Kudus on the table with kecap manis, lime wedges and red chilli sambal
Everyone seasons their own bowl: a squeeze of lime, a thread of sweet soy, a dab of sambal

Soto Kudus is seasoned at the table, bowl by bowl. A squeeze of lime lifts the broth, a little kecap manis brings sweetness and colour, and a sambal of boiled bird's-eye chillies mashed with garlic adds heat; some stalls set out sweet soy sambal instead. Satay is the classic plate beside it, and the bowl itself often takes extra pieces: a halved boiled egg, glass noodles, potato crisps, shredded cabbage or celery leaf.

Rice in the bowl or on the side

The rice goes in the bottom of the bowl in Kudus, and that is how the soup is built above. Serving the rice alongside works too; the broth then stays lighter and the rice keeps its texture to the last spoonful.

Fried garlic instead of fried shallot

Kudus stalls top their bowls with fried garlic, and many use fried shallot and fried garlic together. Garlic gives a sharper, nuttier crunch that marks the bowl as Kudus rather than Semarang.

A deeper yellow

Some stalls run a strong, deep-yellow broth. Raise the turmeric a little and the colour deepens and the earthy note comes forward, while the broth stays clear.

Water buffalo

The buffalo bowl is the other Soto Kudus. The meat is simmered in boiling water for about an hour until tender and sliced thickly; the cooking is covered in the questions below.

Frequently asked questions

Can I make the paste in a food processor instead of a mortar?

Yes. Grind until it is just as smooth and thick as a pounded paste, scraping down the sides so the candlenuts break down fully. A mortar gives a slightly denser paste, and both fry the same way.

Can I use beef?

Beef versions of Soto Kudus exist as modern home adaptations. In Kudus, though, the whole point of this bowl is that it avoids beef, so cook it with chicken or water buffalo to keep it a Kudus soup.

How do I cook it with water buffalo?

Simmer the buffalo in boiling water for about an hour until tender, skimming as you go and keeping the heat low so the broth stays clear. Slice the meat once it is soft, keeping the pieces generous, because small pieces fall apart. Fry the spice paste and add it to the broth as in the method above.

Do I have to make my own fried shallots?

No. Store-bought fried shallots work well. Scatter them on just before serving so they stay crisp.

Sources