Soto Tangkar
Indonesian

Soto Tangkar

Betawi·Medium·50 min active + 2 hours 10 min resting

Jakarta-Betawi beef-rib soup — meaty bone-in beef ribs simmered in a coconut-milk-thinned spice broth with cinnamon, cardamom, cloves, and turmeric until the meat slides off the bone, served over rice with bean sprouts, tomato, fried shallots, and a wedge of lime. Lighter than Soto Betawi (uses thinner coconut milk) and more rib-focused; the dish of Jakarta's working-class warungs around Kemayoran market.

Soto Tangkar's name comes from 'tangkar' meaning 'ribs' in Betawi dialect. It developed in colonial-era Batavia as a working-class meal — beef ribs were the cheaper cut available to working Jakartans, and the soup format extended the meat's value. The dish is associated with the area around Kemayoran market (former Jakarta airport site, now a residential district) where butchers and food vendors clustered in the 20th century. 'Soto Tangkar H. Bahar' has been famous since the 1960s. Distinguished from Soto Betawi by: (1) thinner broth (less coconut milk), (2) bone-in ribs as the canonical protein, (3) more cardamom/cloves (heavier Middle-Eastern spice profile). Often eaten at lunch by laborers between long shifts.

Soto Tangkar is the bony cousin to Soto Betawi — less rich but more deeply meaty. The broth is yellow-reddish (kuning kemerahan), colored by turmeric and chili — not creamy-white like Soto Betawi, spiced with cardamom and cinnamon that gives a warm, almost-Indian quality. The rib is the centerpiece: pick it up by the bone, bite the meat, and it pulls away cleanly. Marrow inside the bone is the prize for those who dig. The thinner broth means you can drink it down between bites of meat without feeling weighed down. Bean sprouts and tomato lighten everything. A lime squeeze opens the spice.

Beef short ribs are the technical centerpiece — they contain meat + bone + connective tissue + marrow, providing four distinct textures and flavor sources. The 90-min simmer hydrolyzes collagen in the connective tissue, releasing it as gelatin into the broth (broth gets natural body without coconut milk). The cardamom + cloves + cinnamon are added to OIL (during the bumbu sauté) rather than directly to water — this blooms the volatile oils and integrates them with the spice paste before adding to the broth. Thinner coconut milk = less fat coating the tongue = cleaner palate for the spices.

Variations

H. Bahar canonical (with bean sprouts + tomato + traditional spicing); 'Soto Tangkar Susu' (modern with added milk for richness); 'Soto Iga' (general rib soto without Betawi spicing); modern restaurant version sometimes adds potato chunks; vegetarian impossibility (the ribs are the dish); related dish 'Sop Iga Bakar' uses grilled ribs in broth (Sundanese variant).

On the Palate

Where Soto Tangkar sits in the Indonesian flavor cloud

HeatRichnessComplexityFermentFreshness

Ingredients

Serves 6

How it's made

8 steps · 50 min active + 2 hours 10 min waiting

  1. 1
    95 min

    Boil beef ribs: in a stockpot combine 1.2kg beef short ribs (cut into 5cm sections by butcher) + 2.5L water + 1 tsp salt + 1 large onion (halved) + 4 garlic cloves (smashed) + 5cm ginger (smashed). Bring to boil; reduce; simmer 90 min until tender. Skim foam.

    Watch out

    Skim the grey foam as the ribs come up to a boil, then hold a bare simmer — that keeps the broth clear and clean instead of muddy and greasy.

  2. 2
    5 min

    Make spice paste: in a blender combine 6 shallots + 5 garlic cloves + 3 candlenuts + 3cm fresh ginger + 2cm fresh turmeric + 1 tsp ground coriander + 1 tsp ground cumin + 4 red chilies. Blend smooth with 3 tbsp water.

  3. 3
    10 min

    Sauté the spice paste in 3 tbsp coconut oil 8 min until fragrant and oil separates. Add 4 cardamom pods (crushed) + 4 cloves + 1 cinnamon stick + 1 star anise + 3 kaffir lime leaves + 2 stalks lemongrass (smashed). Continue 2 min.

    Watch out

    Fry the spice paste until it smells fragrant and the oil breaks out and pools at the edges — that split is the sign the paste is cooked, not raw.

  4. 4
    27 min

    Add the spice mixture to the broth pot. Continue simmering 25 min.

  5. 5
    17 min

    Add 200ml coconut milk (NOT thick coconut cream — thinner is canonical for Soto Tangkar) + 1 tbsp palm sugar + 1 tsp white pepper + 1 tsp salt. Stir gently; simmer 15 min.

  6. 6
    1 min

    Test ribs: meat should slide off the bone when poked with a fork. If not, simmer another 15-20 min.

    Watch out

    The ribs are ready when the meat slides off the bone at a poke — if it still clings, give it another 15-20 minutes low.

  7. 7
    1 min

    Adjust seasoning: should be deeply beefy + slightly sweet + Middle-Eastern spiced (cardamom-clove-cinnamon prominent but not overwhelming).

  8. 8
    5 min

    Serve: ladle broth + 2 ribs per bowl over steamed white rice. Top with 50g blanched bean sprouts + 1 chopped tomato + 1 tbsp fried shallots + chopped green onion + 1 tbsp fried garlic + lime wedge. Offer sambal + kecap manis + sliced bird's eye chili on the side.

Dishes like this

More from Indonesian