Soto Betawi (Jakarta Beef Soup)

Indulge in Jakarta’s Soto Betawi: a rich, aromatic beef soup with a coconut and milk-based broth, featuring tender beef and vibrant spices. Dive into a bowl of pure comfort! This traditional dish from Jakarta is all about rich, aromatic flavours and tender, slow-cooked beef. Perfect for warming up any day! #SotoBetawi #IndonesianCuisine #FoodieHeaven

Soto Betawi, also known as Jakarta beef soup, is a delightful culinary treasure from the heart of Indonesia’s bustling capital. This traditional soup, characterised by its rich and velvety broth, is a staple in Jakarta, found everywhere from humble street food stands to upscale restaurants.  It’s like Nilagang Baka with a creamy citrusy twist with added complex flavours due to the variety of spices used.

Soto, a traditional Indonesian soup, is beloved across the archipelago, with each region boasting its own unique version. In Jakarta, the go-to soto is Soto Betawi, available at every corner, from side street food carts and hole-in-the-wall eateries to food courts in malls and five-star hotels. Each establishment prides itself on a secret blend of spices, fiercely guarded and passionately promoted by devoted fans who claim theirs is the most original and delicious Soto Betawi.

Soto Betawi is all about slow-cooked beef immersed in a rich, aromatic broth. This soup celebrates beef in all its glory, using various cuts and offal to create a deeply flavourful and nutritious dish. Traditionally, Soto Betawi utilises underused, tougher parts of the cow such as shanks, chucks, tendons, and oxtails. These cuts, when cooked slowly, infuse the broth with incredible flavour and a desirable texture, thanks to their high collagen content.

In Indonesian cuisine, preparing the meat and broth is done in two distinct processes. The first step involves cooking the meat to achieve a flavourful broth and tender pieces of beef. This is typically done by slow-boiling or pressure cooking the meat with a few aromatics. The second step is all about the spices. A blend of complimentary spices, known as rempah, is made into a smooth paste, and then fried in oil to release their full potential. This step is crucial as fat acts as the carrier for the flavouring agents.

Once the meat is ready, it is cut into bite-sized pieces and set aside. The cooked spice blend is then introduced to the broth, and the soup is allowed to simmer, letting the flavours marry beautifully. This is the perfect time to prepare steamed rice and all the Soto Betawi fixings, such as diced tomatoes, scallions, kerupuk (crackers), and fried shallots. For the best flavour, patience is key—if you can wait until the next day, the soup will taste even more delicious!

Soto Betawi isn’t just a soup; it’s a celebration of beef and a testament to the ingenuity of using every part of the animal. This approach not only creates a rich and tasty soup but also showcases an eco-friendly cooking method. Enjoy Soto Betawi with a bowl of steamed rice and its complete fixings, and savour comfort food at its finest.

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Soto Betawi (Jakarta Beef Soup)

5 Stars 4 Stars 3 Stars 2 Stars 1 Star No reviews
  • Author: Raymund
  • Prep Time: 20 mins
  • Cook Time: 2 hours 30 mins
  • Total Time: 2 hours 50 mins
  • Yield: 6 1x
  • Category: Main Course
  • Cuisine: Indonesia


Indulge in Jakarta’s Soto Betawi: a rich, aromatic beef soup with a coconut and milk-based broth, featuring tender beef and vibrant spices.


Units Scale


  • 1 kg beef shank with bones
  • 500 g beef tripe
  • 1 litres water
  • 1 litre beef stock
  • 2 bay leaves
  • 4 kaffir lime leaves
  • 2 stalks lemongrass, bruised
  • 1 inch galangal
  • 1 tsp salt

Spice Paste

  • 10 shallots
  • 4 cloves garlic
  • 1 knob ginger
  • 4 birds eye chillies
  • 4 candlenuts
  • 2 tsp coriander powder
  • 1/2 tsp cumin powder
  • 1/4 cup oil


  • 250 ml evaporated milk
  • 250 ml coconut milk
  • 1 tbsp salt
  • 1 tsp sugar

Spice Pack


  • 2 tomatoes, cut into wedges
  • 2 stalks spring onions, chopped
  • fried shallots
  • lime wedges


  1. Place all spice pack ingredients inside a spice bag then set it aside.
  2. In a soup pot add all meat ingredients and the spice bag, bring to a boil then simmer in low heat and cook for 2 hours or until the meat is tender.
  3. Remove the meat from the broth and cut it into bite-sized pieces. Discard the spice bag and reserve the broth.
  4. In a food processor, combine all spice paste ingredient then blend into a smooth paste, adding a few tablespoons of water if needed.
  5. In a medium-low heated pan, fry the spice paste until it is fragrant and caramelized, about 5 minutes.
  6. In a medium pot, combine 1 1/2 litres of the reserved broth with the cooked spice paste. Add salt and sugar from the seasoning ingredients and cook on low heat for 5 minutes.
  7. Add evaporated milk, coconut milk to the broth. Bring to a gentle boil, then adjust the seasoning with additional salt and sugar if needed.
  8. Turn off the heat once the flavours are well combined, around 10 minutes.
  9. Place the cut-up beef and tripe in individual serving bowls.
  10. Pour the hot soup over the meat.
  11. Garnish with diced tomatoes, sliced green onions, and fried shallots.
  12. Serve with steamed rice and lime wedges on the side. Squeeze lime juice over the soup just before eating.


5 Responses

  1. Definitely my kind of food. The broth made with coconut and evaporated milk sounds really great to me.

  2. Wow this looks good. I love everything about this recipe, but what are candlenuts? Don’t worry, I’ll google!!!

  3. I keep repeating that I’m not a huge fan of spicy food as well as some particular spices like chillies or cumin… Yet I would undoubtedly enjoy a large bowl of this hearty deliciousness! The broth looks super silky and smooth, and I bet coconut milk balances out the richness and spiciness of this soup. Beautiful photos, too!

  4. Hannah says:

    It’s rather hot out for soup lately, but I’d bathe in that broth if I could. It sounds impossibly rich an aromatic!

  5. This looks incredibly flavorful and quite spicy! Yum! I almost went to Jakarta once — I am sure I would have had this!

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

This site uses Akismet to reduce spam. Learn how your comment data is processed.