Soto Tangkar: The Royal Beef Rib Soup of Old Jakarta

🌍 Cuisine: Indonesian
🏷️ Category: Main Course
⏱️ Prep: 30 minutes
🍳 Cook: 2 hours
👥 Serves: 4-6 servings

📝 About This Recipe

Originating from the Betawi people of Jakarta during the colonial era, Soto Tangkar is a luxurious, aromatic beef rib soup bathed in a golden, coconut milk-based broth. Unlike its clearer cousins, this 'Soto' is defined by a complex spice paste featuring turmeric, galangal, and candlenuts, creating a silky texture and a deep, smoky-sweet flavor profile. It is a soul-warming masterpiece that captures the vibrant history and bold spice trade heritage of Indonesia in every spoonful.

🥗 Ingredients

The Meat and Aromatics

  • 1 kg Beef Short Ribs (Tangkar) (cut into bite-sized chunks)
  • 2.5 liters Water (for boiling)
  • 2 stalks Lemongrass (bruised and tied in a knot)
  • 4 pieces Salam Leaves (Indonesian Bay Leaves)
  • 6 pieces Kaffir Lime Leaves (torn slightly to release oils)
  • 3 cm Galangal (bruised)

The Spice Paste (Bumbu Halus)

  • 12 bulbs Shallots
  • 6 cloves Garlic
  • 5 pieces Red Chili Peppers (seeded for less heat)
  • 5 pieces Candlenuts (toasted)
  • 3 cm Turmeric (fresh, or 1 tsp powder)
  • 2 cm Ginger
  • 1 tablespoon Coriander Seeds (toasted)
  • 1/2 teaspoon Cumin (toasted)

Liquids and Seasoning

  • 500 ml Thin Coconut Milk
  • 250 ml Thick Coconut Milk (fresh is best)
  • 1 tablespoon Palm Sugar (grated)
  • to taste Salt and White Pepper

Accompaniments and Garnish

  • 2 pieces Tomatoes (diced)
  • 2 stalks Spring Onions (thinly sliced)
  • 3 tablespoons Fried Shallots (Bawang Goreng) (for garnish)
  • 1 bag Emping (melinjo nut crackers)
  • 2 pieces Lime (cut into wedges)

👨‍🍳 Instructions

  1. 1

    In a large heavy-bottomed pot, bring 2.5 liters of water to a boil. Add the beef ribs and blanch for 5 minutes to remove impurities. Drain the water and rinse the ribs under cold water.

  2. 2

    Refill the pot with fresh water and return the ribs to the pot. Add the lemongrass, salam leaves, kaffir lime leaves, and bruised galangal. Simmer on low-medium heat for about 1.5 hours or until the meat is tender and falling off the bone.

  3. 3

    While the beef is simmering, prepare the spice paste. Place the shallots, garlic, chilies, toasted candlenuts, turmeric, ginger, coriander, and cumin into a blender. Add a splash of oil and blend until a smooth, vibrant paste forms.

  4. 4

    Heat 2 tablespoons of oil in a skillet over medium heat. Sauté the spice paste until it becomes fragrant, changes to a darker orange hue, and the oil starts to separate from the paste (about 8-10 minutes).

  5. 5

    Once the beef is tender, pour the sautéed spice paste into the soup pot. Stir well to incorporate the flavors.

  6. 6

    Pour in the thin coconut milk. Let the soup simmer for another 15 minutes to allow the spices to penetrate the meat.

  7. 7

    Stir in the thick coconut milk. Reduce heat to low to prevent the coconut milk from curdling (breaking). Keep stirring gently.

  8. 8

    Season with palm sugar, salt, and white pepper. Taste and adjust the seasoning—it should be savory, slightly sweet, and creamy.

  9. 9

    Prepare your serving bowls. Place a few pieces of diced tomato and a handful of sliced spring onions in the bottom of each bowl.

  10. 10

    Ladle the hot soup and several pieces of beef ribs into the bowls.

  11. 11

    Top generously with fried shallots and serve immediately while steaming hot.

💡 Chef's Tips

For the best flavor, toast your candlenuts and coriander seeds in a dry pan until fragrant before blending. If you have time, make the soup a day in advance; the flavors deepen significantly overnight. Always use low heat once the thick coconut milk is added to maintain a smooth, velvety broth texture. If the ribs are very fatty, you can chill the broth after boiling and skim off the excess solidified fat before adding the spices. Substitution: If you cannot find salam leaves, you can omit them, though the aroma will be slightly different.

🍽️ Serving Suggestions

Serve with a side of warm jasmine rice to soak up the rich, spiced broth. Accompany with 'Sambal Rebus' (boiled bird's eye chili sambal) for those who enjoy a spicy kick. Always serve with Emping crackers—their slightly bitter crunch perfectly balances the creamy soup. A side of Indonesian pickles (Acar) provides a refreshing acidity to cut through the richness. Pair with a glass of iced sweet tea (Es Teh Manis) for a classic Jakarta street-side dining experience.