Pepes Ikan (Pepes Ikan) — Indonesian Banana-Leaf Steamed Fish
Pepes ikan is an Indonesian, especially Sundanese and Javanese, way of cooking fish in banana leaves with a fragrant bumbu. Lemongrass, galangal, candlenut, kemangi, and terasi perfume the fish as it steams.

Printable Recipe Card
Servings: 4 · Total: 65 min · Difficulty: medium
Ingredients (quick list)
- 800 g skinless snapper fillets (cut into 4 equal portions)
- 30 ml lime juice
- 6 g fine sea salt
- 8 shallots (peeled and roughly chopped)
- 4 clove garlic
- 3 red cayenne chiles (stems removed)
- 6 candlenuts (lightly toasted)
- 1 inch fresh turmeric (peeled)
- 1 inch fresh ginger (peeled)
- 1 inch galangal (peeled and thinly sliced before blending)
- 2 stalk lemongrass (tender inner parts only, thinly sliced)
- 1 tsp toasted terasi Indonesian shrimp paste
+ 13 more in the full ingredients section below.
Steps (summary)
- Prepare the banana leaves by passing each leaf over a gas flame for 5 to 10 seconds per side, or by dipping them in boiling wat…
- Pat the fish dry, then rub it with the lime juice and 6 g salt. Let it stand for 15 minutes while you make the bumbu, then blot…
- Combine the shallots, garlic, cayenne chiles, candlenuts, turmeric, ginger, galangal, sliced lemongrass, toasted terasi, corian…
- Coat each fish portion generously with the spice paste, using about one quarter of the paste for each piece. Add the tomato wed…
- Lay one softened banana leaf on the work surface with the dull side facing up, then place one seasoned fish portion in the cent…
- Arrange the parcels seam side up in a steamer basket, leaving a small gap between them so steam can circulate. Steam over brisk…
+ 2 more steps in the full instructions section below.
Cultural Background
Pepes is a Sundanese and Javanese banana-leaf technique that steams and perfumes fish without heavy sauce. Sri Owen describes such regional Indonesian cookery as practical, aromatic, and deeply tied to fresh market herbs.
Equipment
💡 Tips
- Use firm white fish such as snapper, sea bass, grouper, or mackerel so the flesh stays intact during steaming.
- Toast candlenuts before blending; raw candlenuts can taste harsh and are traditionally cooked before eating.
- Do not skip the final grilling step if possible, because the light char on the banana leaf gives pepes ikan its characteristic smoky aroma.
⚠️ Common Mistakes
❌ Wrapping the fish in stiff, untreated banana leaves.
✅ Fix: Warm the leaves over a flame or blanch them briefly so they become flexible and fragrant.
❌ Leaving the spice paste too coarse.
✅ Fix: Blend or pound until the candlenuts and galangal are finely broken down, adding the measured 30 ml water only as needed.
❌ Boiling the steamer dry.
✅ Fix: Start with enough water below the basket and check the level after 20 minutes without letting water touch the parcels.
🧊 How to Store
Cool leftover parcels within 1 hour, then refrigerate in an airtight container for up to 2 days. Reheat covered in a steamer for 8 to 10 minutes, or microwave at medium power until hot; avoid overcooking the fish.
📅 Make Ahead
The bumbu can be blended 24 hours ahead and refrigerated. The fish parcels can be assembled up to 4 hours ahead, kept chilled, and steamed just before serving.
🍽️ Pairs Well With
- Steamed nasi
- sambal terasi
- lalapan cucumber and herbs
- sayur asem.
Regional Variations
- Sundanese versions often use generous kemangi and a fresh, herbal bumbu.
- West Javanese cooks may use whole small fish instead of fillets and wrap each fish individually.
- Some Central Javanese versions taste slightly sweeter with extra palm sugar and milder chiles.
- Coastal versions may use mackerel, tuna, or milkfish for a stronger, oilier flavor.
Ingredients
- 800 gskinless snapper fillets (cut into 4 equal portions)
- 30 mllime juice
- 6 gfine sea salt
- 8shallots (peeled and roughly chopped)
- 4 clovegarlic
- 3red cayenne chiles (stems removed)
- 6candlenuts (lightly toasted)
- 1 inchfresh turmeric (peeled)
- 1 inchfresh ginger (peeled)
- 1 inchgalangal (peeled and thinly sliced before blending)
- 2 stalklemongrass (tender inner parts only, thinly sliced)
- 1 tsptoasted terasi Indonesian shrimp paste
- 1 tspcoriander seeds
- 0.5 tspground white pepper
- 8 gpalm sugar
- 30 mlneutral oil
- 30 mlwater
- 2tomatoes (cut into thin wedges)
- 4scallions (cut into 5 cm lengths)
- 40 gkemangi Indonesian lemon basil (leaves and tender tips)
- 6 leafkaffir lime leaves (ribs removed and leaves finely shredded)
- 4 leafIndonesian bay leaves (also called daun salam)
- 2red chiles (thinly sliced for the packets)
- 4banana leaves (each about 30 x 40 cm, plus extra if torn)
- 8toothpicks
🔄 Substitutions
- snapper fillets→ sea bass fillets
- kemangi Indonesian lemon basil→ Thai basil plus 1 tsp lime zest
- banana leaves→ parchment paper wrapped in foil
- toasted terasi Indonesian shrimp paste→ white miso
Instructions
- 1
Prepare the banana leaves by passing each leaf over a gas flame for 5 to 10 seconds per side, or by dipping them in boiling water for 30 seconds. This softens the leaves so they fold without cracking and also releases the aroma that defines pepes ikan.
- 2
Pat the fish dry, then rub it with the lime juice and 6 g salt. Let it stand for 15 minutes while you make the bumbu, then blot away excess surface moisture so the paste clings well.
- 3
Combine the shallots, garlic, cayenne chiles, candlenuts, turmeric, ginger, galangal, sliced lemongrass, toasted terasi, coriander seeds, white pepper, palm sugar, 4 g salt, oil, and water in a blender or mortar. Process or pound to a fairly smooth paste, scraping the sides often because the candlenuts and galangal need time to break down.
- 4
Coat each fish portion generously with the spice paste, using about one quarter of the paste for each piece. Add the tomato wedges, scallions, kemangi, kaffir lime leaves, daun salam, and sliced red chiles, pressing some aromatics underneath and some on top of the fish.
- 5
Lay one softened banana leaf on the work surface with the dull side facing up, then place one seasoned fish portion in the center. Fold the long sides over the fish, tuck the short ends underneath or fold them into a parcel, and secure both ends with toothpicks.
- 6
Arrange the parcels seam side up in a steamer basket, leaving a small gap between them so steam can circulate. Steam over briskly simmering water for 25 minutes, keeping the lid closed so the fish cooks gently in its own aromatic juices.
- 7
For the traditional smoky finish, heat a charcoal grill, grill pan, or dry skillet over medium-high heat. Grill the steamed parcels for 2 to 3 minutes per side, just until the banana leaves are lightly charred and the bumbu smells roasted.
- 8
Serve the pepes ikan still wrapped, letting each diner open a parcel at the table to enjoy the steam and aroma. Remove the daun salam before eating, and spoon the juices over hot nasi so none of the lemongrass and galangal-scented sauce is wasted.
🪪 Recipe Passport
Cultural Background
Pepes is a Sundanese and Javanese banana-leaf technique that steams and perfumes fish without heavy sauce. Sri Owen describes such regional Indonesian cookery as practical, aromatic, and deeply tied to fresh market herbs.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
📚 Sources & Cultural References
- Sri Owen — Indonesian Regional Food and Cookery — (1999)
- Lara Lee — Coconut & Sambal — (2020)
Sources cited by the Zaffaron editorial team during recipe research. Cultural and culinary references supporting authenticity claims.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Sweet-Spiced Tempeh Stir-Fry (Tempe Orek) — Crisp Indonesian Soy-Glazed Tempeh
Indonesian · Side Dishes · 45 min

Bakso (Bakso) — Indonesian Beef Meatball Soup
Indonesian · Soups · 160 min

Indonesian Grilled Chicken (Ayam Bakar) — Sweet Soy-Spiced Charred Chicken
Indonesian · Main Courses · 85 min

Asado Negro (Asado negro) — Venezuelan Dark-Caramel Beef Roast
Venezuelan · Main Courses · 245 min

Swedish Potato Pancakes with Pork (Raggmunk med fläsk) — Crispy Husmanskost with Lingonberries
Swedish · Main Courses · 55 min

Larb Gai (ลาบไก่) — Thai Minced Chicken Herb Salad
Thai · Salads · 30 min

Mamak Fried Noodles (Mee Goreng Mamak) — Malaysian Indian Street-Stall Noodles
Malaysian · Main Courses · 40 min

Bolivian Salteñas (Salteñas) — Juicy Baked Meat Empanadas
Bolivian · Appetizers · 120 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.