Soto Medan: deep yellow coconut broth over shredded chicken, bean sprouts, cabbage, glass noodles, tomato and hard-boiled egg
Serves8 servings
CuisineIndonesian

Soto Medan: North Sumatran Coconut Milk Chicken Soup

Soto Medan is the turmeric-yellow coconut chicken soup of Medan, Indonesia. Learn to fry the spice paste, keep coconut milk from splitting, and swap spices.

Level: Intermediate

Cooking flow

Cooking steps

STEP 11 / 12

Grind the spice paste

STEP 1

Peel the shallots, garlic, turmeric and ginger. Put them in a mortar or small food processor with the candlenuts, cumin, peppercorns and all 2 tsp salt. Pound or blend until smooth, scraping down the sides as you go. The paste is ready when no chunks of shallot or candlenut remain and it looks bright orange-yellow and evenly creamy.

STEP 22 / 12

Prepare the vegetables and noodles

STEP 2

Put the bean sprouts in a colander, pour boiling water over them and drain well. Soak the glass noodles following the pack and cut them into easy lengths. Wash the cabbage, tomato, scallion and limes well under running water (scrub the lime skin before cutting). Shred the cabbage finely and cut the tomato into wedges. The vegetables are ready when the sprouts have lost their raw sheen but still snap, and no water pools under them.

STEP 33 / 12

Boil the eggs and fry the potato

STEP 3

Hard-boil the eggs and peel them. Heat oil in a small pan and fry the potato until golden outside and tender through, then lift it out to drain and cut it into pieces. Frying keeps the potato in shape in the hot broth; boiled potato breaks apart in the bowl. The potato is done when a skewer slides through with no resistance and the outside is crisp.

Hot oil

Dry the potato well before it goes into the oil and lower it in gently to avoid splatters. Keep the handle turned in and never leave the oil unattended.

STEP 44 / 12

Parboil the chicken

Four pieces of chicken parboiling over low heat in a pot of water
Pale foam and lazy bubbles are right; a rolling boil is too hard

Rinse the chicken pieces and pat them dry. Bring a pot of water to a boil, enough to cover the chicken, then add the chicken and lower the heat. Cook until the chicken is half-done, then lift it out and keep the water in the pot. A hard boil tears the skin and clouds the water. The chicken is ready when the surface has turned opaque all over; it is only half-cooked and finishes in the coconut milk.

Raw chicken

Wash the board, knife, hands and anything else that touched raw chicken with hot soapy water before handling the fillings, which are eaten without further cooking.

STEP 55 / 12

Fry the spice paste

Yellow spice paste frying in oil in a wide pot
The paste thickens and the oil around it turns yellow; it no longer looks wet

Heat the 3 tbsp oil in a wide pan over medium-low heat. Add the spice paste and spread it across the pan, stirring often. Keep frying as its water cooks off and it thickens. It is done when the oil has turned yellow-red and separates around the paste, and the raw garlic smell has gone.

Fry the paste all the way

Underfried paste leaves the broth langu, a raw, green taste that coconut milk cannot hide. Raw turmeric in particular lingers. Go by smell: when only a warm, sweet spice aroma rises from the pan, the paste is ready.

STEP 66 / 12

Add the whole spices

Cardamom, star anise, kaffir lime leaves, salam leaves and lemongrass added to the fried spice paste
Turn the leaves through the paste until they gloss with oil

Bruise the lemongrass with the back of a knife. Add the cardamom, star anise, kaffir lime leaves, salam leaves and lemongrass to the paste and turn them through it. Keep frying until the cardamom pods swell and the citrus scent of the leaves rises. Then scrape everything into the pot of chicken water; the pan should be nearly clean, with the oil carried into the pot.

STEP 77 / 12

Simmer the chicken in thin coconut milk

Chicken and spices simmering gently in pale yellow thin coconut milk
A thin layer of yellow oil starts to gather on the surface as the simmer goes on

Return the chicken to the pot and pour in the thin coconut milk. Keep the heat low, so the surface only trembles and small bubbles form at the edges. Stir from the bottom now and then so the coconut milk does not catch. The chicken is done when a skewer passes through the thickest part of the thigh with no resistance and the meat pulls away from the bone; at the thickest part it reads 167°F (75°C) and holds there for at least 1 minute.

Cook chicken through

Cook the chicken until the centre reaches 167°F (75°C) for at least 1 minute. If the skewer meets resistance or the meat clings to the bone, keep simmering on low heat and check again.

STEP 88 / 12

Finish with thick coconut milk

Thick coconut milk poured into the yellow chicken broth while stirring
The white ribbons disappear as you stir, and the broth turns paler and more opaque

Bring the thick coconut milk to room temperature before it goes in; cold coconut milk added to the hot pot splits more easily. Keep the heat low, pour it in and stir as the broth comes up to a boil. Once it boils, turn off the heat within a minute or two. Taste and add salt to taste. The broth is ready when it is opaque, silky and evenly yellow, with small islands of spice oil and no white flecks.

Close-up of the finished, smooth yellow coconut broth with dots of spice oil
Smooth and glossy with orange oil droplets means the coconut milk has held together
Low heat keeps the broth smooth

Coconut milk that boils hard for long separates into grainy curds and clear fat. Keep the flame low, stir from the bottom, and turn off the heat soon after the thick coconut milk boils.

STEP 99 / 12

Shred the chicken

Cooked chicken pulled into coarse shreds on a plate
Glossy, pale shreds; the chicken stays boiled, not browned

Lift the chicken out of the pot onto a plate. Hold each piece with a fork and pull the meat into coarse shreds by hand or with a second fork. Keep the broth covered so it stays hot while you work. The shreds are ready when they are bite-size, pale yellow at the edges and still moist.

STEP 1010 / 12

Build the bowls

A white bowl layered with bean sprouts, cabbage, fried potato, tomato and shredded chicken
Pinch the sprouts in with chopsticks so they sit flat under the rest

Divide the bean sprouts, glass noodles and cabbage among eight bowls. Add the fried potato pieces and tomato wedges, then pile the shredded chicken on top. Keep each portion modest so the broth has room. The bowls are ready when each holds every filling in a small, even layer, with the chicken on top.

Drain everything

Water clinging to the sprouts or cabbage dilutes the broth in the bowl and dulls it. Shake the colander hard and let the vegetables sit a minute before they go into the bowls.

STEP 1111 / 12

Add the egg and pour the broth

Hot yellow broth ladled into a filled bowl with egg slices
Pour slowly so the fillings lift without scattering

Slice the eggs thinly and lay two or three slices in each bowl. Bring the broth back to hot over low heat if it has cooled. Ladle it gently into each bowl, pouring over the side rather than straight onto the chicken. Stop when the broth lifts the fillings slightly but the chicken and egg still show above it, with steam rising off the bowl.

STEP 1212 / 12

Finish and serve

STEP 12

Scatter fried shallots and sliced scallion over each bowl. Cut the limes and set them beside the bowls. Put the perkedel and emping on separate plates, with white rice or ketupat and sambal. Serve while the steam is still rising, and squeeze the lime in just before eating.

0 / 0
Ingredients

Ingredients

1 / 4

Chicken and broth

Ingredient Amount Role
Young chicken (ayam kampung muda) 1 bird, 1¾ lb (800 g), cut into 4 pieces The meat, shredded into every bowl
Neutral vegetable oil (minyak sayur) 3 tbsp Frying the spice paste
Green cardamom pods (kapulaga) 5 The warm, floral core of the aroma
Star anise (bunga lawang) 2 Sweet, anise-like depth
Salam leaves (daun salam) 2 Green, woodsy note
Kaffir lime leaves (daun jeruk purut) 2 Citrus-peel scent that sharpens the broth
Lemongrass (serai) 1 stalk, bruised Fresh lift underneath
Thin coconut milk (santan sedang) 4¼ cups (1 L) The body of the broth, for the long simmer
Thick coconut milk (santan kental) 2 cups (500 ml) Richness added at the end
2 / 4

Spice paste (bumbu halus)

Ingredient Amount Role
Shallots (bawang merah) 10 Sweetness
Garlic (bawang putih) 6 cloves Aromatic base
Candlenuts (kemiri) 2 Body and richness
Ground cumin (jintan) 1 tsp The signature Medan aroma
Fresh mature turmeric (kunyit tua) 1¼-inch (3 cm) piece Yellow colour and earthy scent
Fresh ginger (jahe) ¾-inch (2 cm) piece Warm heat
Black peppercorns (merica butiran) 1 tsp Sharp edge
Salt (garam) 2 tsp, plus more to taste Seasoning for the whole pot
3 / 4

Fillings (isian)

Ingredient Amount Role
Mung bean sprouts (tauge) 3½ oz (100 g) Crunch
Potato (kentang) 1 Substance; fried, then cut
Oil for frying the potato as needed Frying
Mung bean glass noodles (suun) 1¾ oz (50 g) Slippery, silky strands
Cabbage (kol) 3 leaves Sweetness and volume
Eggs (telur ayam) 2, hard-boiled Sliced over the bowls
Red tomato (tomat merah) 1 Freshness and acidity
4 / 4

To finish (pelengkap)

Ingredient Amount Role
Scallion (daun bawang), thinly sliced 2 tbsp Fresh green aroma
Fried shallots (bawang merah goreng) 3 tbsp Toasty crunch
Small limes (jeruk limau) 2 Acidity, squeezed into each bowl
Potato perkedel (perkedel kentang) as needed Fried potato patties on the side
Emping crackers (emping goreng) as needed Bitter-nutty melinjo crackers on the side
0 / 0

The spice paste hits the oil and the kitchen fills with turmeric, garlic and cumin. A few minutes later the oil around it has turned a deep yellow-red, and the raw edge of the garlic is gone. Later, when the thick coconut milk goes in, it swirls through the pot in white ribbons and the broth turns opaque and gold. That is soto Medan, the coconut milk chicken soup of Medan in North Sumatra. It is rich and gently spiced, scented with cardamom, star anise and kaffir lime leaf, and it is poured hot over bean sprouts, glass noodles, cabbage and shredded chicken, then sharpened at the table with lime and sambal.

Medan's Yellow Soto: Breakfast Shops, Chosen Fillings and a Port City's Spices

In Medan, soto is morning food. RM Sinar Pagi, which the current owner's parents opened in 1962, has been serving it for some sixty years. The doors open at 7 a.m., and locals and visitors arrive together while orders are written down on paper one after another. At the counter you choose what goes in your bowl: beef, paru (lung) or chicken. The broth over all of them carries coconut milk with cumin, nutmeg, turmeric and galangal.

What sets this soto apart from its Indonesian neighbours is the coconut milk. It makes the broth thick, opaque and deep yellow, heavier on the tongue than the clear yellow chicken broth of soto ayam. It also differs from Jakarta's soto Betawi, whose beef and milk give a pale, whitish soup. Medan also has noodle dishes in the same family, such as mie sop Medan, which belong on their own page. For another dish from Sumatra, mie Aceh brings noodles and spice in a different direction. The wider Indonesian table is collected under Indonesia.

Where the name comes from

The usual account places soto Medan in the early twentieth century, when it went by the name Soto Medan Batak. A second story follows: during Dutch rule, cooks added potato, carrot, green peas and beef to suit European tastes. Neither story rests on early written records, so where and how the dish began is not settled. Medan is a port city where Malay, Batak, Chinese and Indian cooking meet, and the layering of whole spices in this broth is often linked to Indian influence; that link, too, is a reading rather than a fact anyone has pinned down.

One soup, many pots

Every cook in Medan adjusts the pot. Some wash the chicken with lime and salt, cook it, then fry it golden before shredding. Some add galangal and coriander seed and use more candlenuts. Some add a spoon of sugar. Shops offer beef and shrimp alongside chicken. The pot here keeps to boiled, shredded chicken, no sugar, and a fixed set of five whole spices, so the coconut milk and spices stay clear and balanced. Whatever the filling, soto is eaten with white rice or ketupat, the compressed rice cake.

Fillings and accompaniments

Soto Medan has two layers of extras. The isian (fillings) go into the bowl before the broth: bean sprouts, glass noodles, cabbage, fried potato, tomato, egg and chicken. The pelengkap (accompaniments) go on top or beside the bowl: fried shallots and scallion over the soup, and lime, potato perkedel and emping crackers on the side.


Ingredients (serves 8)

Ingredients for soto Medan laid out: chicken, two kinds of coconut milk, shallots, garlic, candlenuts, cumin, turmeric, cardamom, star anise, kaffir lime leaves, lemongrass, bean sprouts, glass noodles, cabbage, eggs and tomato
Keep the two coconut milks in separate jugs; they go into the pot at different moments

The only salt in the pot is the 2 tsp ground into the spice paste. Spread over eight bowls and a large volume of coconut milk, that seasons lightly. Taste once the broth is finished and add more to taste; each eater can also sharpen their bowl with lime and sambal.

Allergen information

This dish contains coconut and egg. Candlenuts are tree nuts, and emping is made from melinjo seeds. Many store-bought shrimp crackers and sambals contain shrimp, so check labels if you serve them. Check the coconut milk label for emulsifiers and other additives.

Equipment

  • Mortar and pestle or a small food processor
  • Large pot for parboiling and simmering, at least 3¼ quarts (3 L), heavy-bottomed
  • Wide pan for frying the spice paste
  • Small pan for frying the potato
  • Saucepan for boiling the eggs
  • Skewer and instant-read thermometer
  • Ladle and eight soup bowls

Shopping and Substitutes: What Must Stay Medan

The whole spices and the coconut milk carry the dish, and most of them sit in the same aisle of an Indonesian or Southeast Asian grocer or online shop. Small bags are enough. Kaffir lime leaves are the one to track down first: frozen or dried both work, and without them the yellow broth loses its sharp outline. Choose green cardamom pods; black cardamom tastes of camphor and smoke and turns the broth into something else. Whole pods hold their fragrance through the simmer, while ground cardamom fades.

Ingredient What to buy What a swap changes
Coconut milk Unsweetened canned coconut milk For the thin coconut milk, dilute canned coconut milk with hot water following the label. Coconut cream is thicker and makes the broth heavy at the same amount. Diluting with dairy milk adds a milky smell.
Salam leaves Dried Indonesian salam leaves Bay leaf smells completely different; it is a separate flavour, not a stand-in.
Lemongrass Fresh or frozen Dried is weaker. Keep to one stalk anyway rather than adding more.
Candlenuts Candlenuts (kemiri) Macadamia nuts give similar richness. Too many leave a heavy feel on the tongue.
Turmeric Fresh turmeric root Ground turmeric works; start with a little and adjust by colour and aroma. Too much turns bitter.
Cumin Ground cumin Whole seeds, dry-toasted and ground, smell brighter. More than the amount pushes the soup toward curry.
Shallots Small shallots Regular onion releases more water into the paste.
Chicken A young whole chicken, or bone-in thighs Native or free-range birds have more flavour and tougher fibres and take longer to soften.
Glass noodles Mung bean noodles Potato-starch glass noodles stretch and soften differently in hot broth. Check the starch on the pack.
Limes Small limes Any small, sharp lime works; add the juice bowl by bowl.
Emping Melinjo crackers Leave them out if you cannot find them. Shrimp crackers are a different food with a different allergen.

Star anise is sold as star anise everywhere. Adding more than two pushes a licorice sweetness to the front of the broth.


Method: Paste, Simmer, Then Build the Bowls

Grind the paste and prepare every filling before the chicken goes in the water, so the bowls are ready when the broth is. The chicken parboils first, and its cooking water stays in the pot to become the base of the broth. The long, low simmer in thin coconut milk is the hands-off stretch, though you still stir now and then. The thick coconut milk, the shredding and the assembly come quickly at the end.

When It Goes Wrong

What you see Why What to do
Grainy broth with clear fat on top The coconut milk boiled hard for too long, cold coconut milk went in, or the pot sat unstirred Lower the heat and stir from the bottom. Split broth is safe to eat, but the texture turns rough. Next time, warm the thick coconut milk to room temperature first.
A raw, green taste The spice paste was underfried, often with the turmeric still raw Fry the paste until the oil turns yellow-red and the garlic smell is gone. Once the broth is made, this cannot be fried out.
A flat, blurred aroma The kaffir lime leaves or lemongrass went in late or were left out Fry the whole spices in the paste before it goes into the pot so their oils carry into the broth.
Tough chicken A native or free-range bird needs a longer simmer Keep simmering on low heat until the skewer slides in and the meat leaves the bone.
Bland broth The salt is all in the paste and spreads over a large pot Taste and add salt to taste, or let each eater season with lime and sambal.
Watery bowls The sprouts and cabbage went in wet Drain the vegetables thoroughly after blanching.

Serving, Variations and Storage

A bowl of soto Medan with potato perkedel, emping crackers, sambal, lime and white rice
Accompaniments stay on their own plates so each eater builds their bowl

At the table

Set soto Medan out as a full meal. The bowl goes in the centre, with white rice or ketupat, potato perkedel and emping crackers on their own plates, plus lime and a small dish of sambal. The sweetness and oil of the perkedel stand up to the weight of the coconut broth, and the bitter crunch of emping cuts through it. Keep the chili out of the pot; sambal in a separate dish lets each person set their own heat. If you are out of sambal, these substitutes cover it.

Variations

  • Fried, then shredded chicken. After the simmer, fry the cooked chicken pieces golden before shredding. The shreds gain browned edges and a toastier flavour against the soft broth.
  • Rice in the bowl. Put a small spoonful of white rice under the fillings. It soaks up the broth and turns the bowl into a heartier meal.
  • Other fillings. Medan shops offer beef, paru and shrimp alongside chicken. Each one is a separate pot; at home, one filling is plenty.

Leftovers

Cool the broth quickly, transfer it to a clean covered container and refrigerate promptly; finish it by the next day. Do not leave cooked soup sitting at room temperature for long. Reheat over low heat, stirring, until it reaches 167°F (75°C), without letting it boil hard. Store the fillings separately and assemble fresh bowls. Do not freeze it, because coconut milk separates when it thaws.

Frequently asked questions

Can I use chicken breast?

You can, but breast meat turns dry and stringy when shredded after a long simmer. Bone-in thighs are the better choice: they shred easily into eight portions and stay juicy. Bone-in pieces take longer to soften than boneless ones, so go by the skewer and the thermometer.

How do I make it spicy?

Serve sambal rawit or any chili sambal in a small dish and let each person stir it into their bowl. Adding chili to the pot makes the whole batch hot and covers the cardamom and lime leaf.

Can I use rice vermicelli instead of glass noodles?

Yes. Rice vermicelli gives finer strands and soaks up more broth than mung bean noodles, so the bowl turns softer as it sits. Soak it following the pack and drain it well before it goes into the bowls.

Sources