Indonesia's iconic satay peanut sauce: roasted peanuts, kecap manis, galangal, and shrimp paste cooked into a thick, complex dipping sauce.
Bumbu kacang — peanut sauce — is arguably the condiment most synonymous with Indonesian cuisine in the global imagination, and making it from scratch reveals how far the restaurant version falls short. Authentic bumbu kacang begins with freshly roasted peanuts ground in a stone mortar or blender, combined with a spice paste (bumbu) of shallots, garlic, galangal, lemongrass, and terasi (fermented shrimp paste) that's been fried in a little oil until fragrant, then enriched with coconut milk, kecap manis, lime juice, and palm sugar to create a sauce of extraordinary complexity. The sauce is used to dress gado-gado (the Indonesian salad), as a dipping sauce for sate (satay skewers), tossed with ketan (sticky rice cakes), or thinned to a dressing for cold noodles. Its consistency ranges from thick and dip-able to thin and pourable depending on the application. Each regional version has personality: Madura's bumbu kacang is richer with coconut milk; Betawi's version is darker from kecap manis; Padang's is fiery with chili.
Serves 6
Toast peanuts in a dry wok over medium heat, stirring constantly, for 8–10 minutes until the skins blister and the nuts smell nutty. Transfer to a clean cloth and rub to remove skins. Cool, then grind coarsely in a blender or food processor — not to a paste, some texture should remain.
Blend shallots, garlic, galangal, lemongrass, and chilies into a coarse paste using a blender or stone mortar.
Heat oil in a saucepan over medium heat. Add terasi and fry 30 seconds until fragrant. Add spice paste and fry, stirring, 5–6 minutes until fragrant and slightly darkened.
Don't rush this step — properly fried bumbu has a rounder, less raw flavor.
Pour in coconut milk and 100ml water. Bring to a gentle simmer. Add ground peanuts, kecap manis, palm sugar, and salt. Stir constantly.
Simmer 5–8 minutes, stirring, until the sauce thickens and the oil begins to pool at the sides. Add remaining water to reach desired consistency. Finish with lime juice. Taste and adjust sweetness and salt.
Serve warm with satay skewers, over gado-gado, or alongside fresh vegetable crudités.
Roasting peanuts from raw produces a far more complex flavor than using pre-roasted or peanut butter.
Terasi must be briefly toasted or fried — raw terasi has an unpleasant fishiness that cooking transforms into deep umami.
The sauce thickens dramatically as it cools; thin with warm water when reheating.
Gado-gado sauce: add more water and a tablespoon of tamarind paste for a thinner, tangier dressing.
Vegan version: replace terasi with 1 teaspoon miso paste and a sheet of nori blended in.
Padang style: increase chilies and reduce kecap manis for a spicier, less sweet version.
Refrigerate in a sealed jar up to 1 week. Reheat gently with a splash of water, stirring constantly — the sauce will seize if heated too quickly or without moisture.
Peanuts arrived in Southeast Asia via Portuguese and Spanish traders from South America in the 16th century and were rapidly adopted into Indonesian cooking. Bumbu kacang as a complex cooked sauce (rather than simple ground peanuts) appears to have developed in Java and Madura by the 18th century. The Dutch colonial cookbook 'De Volledige Indische Keuken' (1890s) documents bumbu kacang preparations closely resembling the modern version.
You can use 120g natural peanut butter (unsweetened, no palm oil) as a shortcut. The flavor is less nuanced but acceptable. Avoid sweet commercial peanut butter — it throws the sauce's sugar balance off completely.
Terasi is Indonesian fermented shrimp paste — a small amount adds enormous umami depth that's difficult to replicate. Omit it for a vegan sauce and compensate with a little miso or soy sauce.
The peanuts were ground too fine into a paste rather than left slightly coarse, or the sauce was cooked at too high a heat. Blitz briefly and aim for a texture between peanut butter and chunky.
For dipping satay: about the consistency of yogurt — it should coat a skewer and drip slowly. For gado-gado dressing: thinner, more like heavy cream. Add warm water tablespoon by tablespoon.
Per serving (80g / 2.8 oz) · 6 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes
Have feedback or need help?
We read every email and reply within 1–2 business days.
© 2026 MyCookingCalendar. All rights reserved.