"Soto just means ‘soup’ and there are heaps of different sotos in Jakarta. This one consists of broth, meat, vegetables and noodles, and it’s a defining dish of the city – betawi signifies ‘Jakarta’ – and you’ll find it everywhere, from hole-in-the-wall eateries to fine diners." Luke Nguyen, Luke Nguyen's Street Food Asia






Skill level

Average: 3.4 (26 votes)


  • 1 kg beef ribs
  • 2 litres (8 cups) water
  • 500 ml (2 cups) light coconut milk
  • 600 g rice vermicelli noodles, cooked
  • 2 tomatoes, cut into small pieces
  • 3 spring onions (scallions), thinly sliced
  • 1-1½ tbsp kecap manis
  • 2 limes, cut into wedges

Spice mix

  • 60 ml (¼ cup) vegetable oil
  • 5 makrut lime leaves, sliced
  • 2 fresh bay leaves, sliced
  • 4 lemongrass stalks, white part only, bruised
  • 1 cinnamon stick
  • 3 cm piece galangal, bruised
  • 4 red Asian shallots, chopped
  • 4 garlic cloves, chopped
  • 3 long fresh red chillies, chopped
  • 5 candlenuts, dry roasted and chopped
  • 5 cm piece turmeric, chopped
  • 1 tbsp salt
  • 1 tbsp coriander seeds, dry roasted
  • 1 tsp cumin seeds, dry roasted
  • 1 tsp white peppercorns, dry roasted

Cook's notes

Oven temperatures are for conventional; if using fan-forced (convection), reduce the temperature by 20˚C. | We use Australian tablespoons and cups: 1 teaspoon equals 5 ml; 1 tablespoon equals 20 ml; 1 cup equals 250 ml. | All herbs are fresh (unless specified) and cups are lightly packed. | All vegetables are medium size and peeled, unless specified. | All eggs are 55-60 g, unless specified.


Place the beef ribs and water in a large stock pot or saucepan and bring to the boil.

Meanwhile, to prepare the spice mix, heat the oil a frying pan over medium heat then fry all the all spice mix ingredients for 5 minutes or until aromatic.

Once the beef ribs have come to the boil, skim off any impurities that rise to the top and discard. Stir in the spice mix, reduce the heat to low, then cover and simmer for 2 hours or until the ribs are very tender. Stir in the coconut milk and bring to the boil. Add more salt if needed. Remove from the heat.

Divide the noodles between serving bowls. Place the beef ribs on top of the noodles, then pour enough of the broth over the top to cover the noodles. Top each bowl with tomato and spring onion, then drizzle each with a teaspoon of kecap manis and serve with lime wedges.


Photography by Alan Benson. Styling by Lucy Tweed. Food preparation by Tammi Kwok.


Luke Nguyen's Street Food Asia airs Thursday at 8.30pm on SBS. Visit the program page for recipes, videos and more.