This Indonesian grilled fish, inspired by ikan bakar, pairs firm fish fillets with a fragrant garlic, ginger, lime, and kecap manis marinade, then serves them with a quick fresh-chile sambal. The sweet-salty glaze, smoky grill marks, and bright relish make a balanced meal, and the method works with several kinds of fish.
Ingredients
- 4 skin-on firm white-fish fillets, about 6 oz (170 g) each, such as snapper, sea bass, or grouper; approximately 1½ lb (680 g) total
- 3 tbsp (45 ml) kecap manis, Indonesian sweet soy sauce
- 2 tbsp (30 ml) neutral oil, such as canola or peanut oil
- 2 tbsp (30 ml) fresh lime juice, about 1 lime
- 3 garlic cloves, about 9 g, peeled
- 1-inch (2.5 cm) piece fresh ginger, about 25 g, peeled and roughly chopped
- 1 small shallot, about 30 g, peeled and roughly chopped
- 1 tsp (2 g) ground coriander
- ½ tsp (1 g) ground turmeric
- ½ tsp (1 g) ground white or black pepper
- ½ tsp (3 g) fine salt
- 1 tbsp (15 ml) kecap manis, for glazing
- 4 red Fresno chiles, about 40 g, stems removed and roughly chopped
- 1 small shallot, about 30 g, roughly chopped, for the sambal
- 1 garlic clove, about 3 g, peeled, for the sambal
- 1 tbsp (15 ml) neutral oil, for the sambal
- 1 tsp (5 ml) fresh lime juice, for the sambal
- ¼ tsp (1.5 g) fine salt, for the sambal, plus more to taste
- 2 tbsp (8 g) chopped cilantro, optional, for serving
- 1 lime, about 70 g, cut into wedges, for serving
Instructions
- Make the sambal. Finely chop or pulse the Fresno chiles, sambal shallot, and sambal garlic until they form a coarse relish. Heat 1 tablespoon (15 ml) oil in a small skillet over medium heat. Add the chile mixture and cook for 3–4 minutes, stirring often, until fragrant and slightly softened. Take the pan off the heat, stir in 1 teaspoon (5 ml) lime juice and ¼ teaspoon (1.5 g) salt, and taste. Add a pinch more salt if needed. Set aside while you cook the fish; the sambal can be served warm or at room temperature.
- Mix the fish marinade. Finely grate or crush the first three garlic cloves, ginger, and shallot, or pulse them in a small food processor. Stir in 3 tablespoons (45 ml) kecap manis, 2 tablespoons (30 ml) oil, 2 tablespoons (30 ml) lime juice, coriander, turmeric, pepper, and ½ teaspoon (3 g) salt. The mixture should be thick enough to cling to the fish. If you do not have a processor, a fine grater and a knife work well.
- Season and marinate. Pat the fillets dry with paper towels so the marinade sticks and the fish browns instead of steaming. Put them in a shallow dish and coat both sides with the marinade, taking care not to tear the flesh. Cover and refrigerate for 15 minutes. Do not leave raw fish at room temperature to marinate. While it rests, preheat a clean, oiled grill to medium-high, about 400–450°F (204–232°C). Keep the separate tablespoon of kecap manis for glazing.
- Grill the fillets. Lift the fish from the dish and let excess marinade drip off; discard the marinade that touched the raw fish. Lay the fillets skin-side down on the grill. Close the lid and cook for 5–7 minutes, depending on thickness, until the skin releases fairly easily and the sides look opaque about halfway up. Turn carefully with a wide, thin spatula and cook the flesh side for another 2–4 minutes. Brush the tops lightly with the reserved 1 tablespoon (15 ml) kecap manis during the final 1–2 minutes so its sugar does not scorch. Fish is safely cooked when a food thermometer inserted into the thickest part reads 145°F (63°C), the USDA FSIS safe minimum internal temperature for fish. It should also flake with gentle pressure.
- Finish and serve. Transfer the fillets to a platter and let them stand for 2 minutes. Scatter over cilantro, if using, and serve with the sambal and lime wedges. If a fillet sticks, slide the spatula under it slowly rather than pulling, which can break the flesh.
Tips
- Choose a sturdy fillet. Snapper, sea bass, grouper, and other firm white fish hold together well on an open grill. Cod can work, but its flakes are more delicate; grill it in a fish basket or on a lightly oiled piece of foil with a few holes rather than turning it directly on the grates.
- Substitute for kecap manis if needed. Mix 2 tablespoons (30 ml) soy sauce with 1 tablespoon (12 g) brown sugar and 1 teaspoon (5 ml) molasses for each 3 tablespoons (45 ml) of kecap manis. It will be thinner and less deeply caramel-like, so brush it on sparingly and watch closely for burning. This recipe also uses a separate tablespoon for the finishing glaze.
- Control the chile heat. Fresno chiles give the sambal a moderate, fresh heat. Use red jalapeños for a similar result, or remove the seeds and inner ribs for a milder relish. Add a little chile at a time if you are unsure of its strength.
- Keep the fish intact. Dry it well, oil the grill grates, and wait until the skin releases before turning. If the grill is not convenient, cook the fillets in a lightly oiled grill pan over medium-high heat, following the same doneness temperature.
Serving Suggestions
Serve the fish hot with steamed jasmine rice, which catches the sweet-spicy juices and makes the meal more filling. Coconut rice is another good match, though plain rice lets the marinade and sambal stand out more clearly. Add sliced cucumber, tomato, or a simple salad of crunchy vegetables to bring a cool contrast to the warm chile relish.
Put the sambal and lime wedges on the table rather than covering every fillet in sauce. That lets each person choose how much heat and acidity to add. For a more substantial spread, include sautéed green beans, grilled eggplant, or lightly dressed cabbage. If serving family-style, move the fish with a wide spatula and keep the skin facing up so it stays crisp.
Variations
For a more citrus-forward version, add 1 teaspoon (2 g) finely grated lime zest to the marinade. A pinch of ground cumin can add warmth, though it shifts the flavor away from the coriander-and-turmeric profile used here. If you enjoy a sweeter, more glazed finish, serve extra kecap manis at the table instead of adding more to the grill, where the sugars can burn.
You can make this with whole fish, but the cooking time will vary with its weight and thickness. Ask the fishmonger to clean and score it, then season the cuts and cavity with the marinade. Grill it over medium heat, turning carefully, and check the thickest part near the backbone with a thermometer for 145°F (63°C). A grill basket makes whole fish easier to handle.
For an indoor version, heat the oven to 425°F (220°C). Arrange the marinated fillets skin-side down on a foil-lined, lightly oiled baking sheet and roast until they reach 145°F (63°C) in the thickest part, generally around 10–14 minutes depending on thickness. Add the kecap manis glaze only for the final few minutes, and watch that it does not darken too quickly. The fish will be tender and flavorful, but it will not have quite the same smoky char as grilled ikan bakar.
Storage and Reheating
Refrigerate cooked fish and sambal in separate airtight containers within 2 hours of cooking. The fish keeps for 3–4 days in the refrigerator; the sambal is best within 3 days. For longer storage, freeze the cooked fish in a well-sealed container for up to 2–3 months for best quality, then thaw it overnight in the refrigerator. Avoid leaving cooked seafood at room temperature for more than 2 hours.
Reheat fish gently in a covered skillet over low heat with a teaspoon of water, or in a 300°F (150°C) oven until warmed through. For food safety, leftovers should reach 165°F (74°C); check the center with a thermometer. The fish can dry out if heated too long, so use gentle heat and stop as soon as it reaches temperature. The sambal can be served cold or warmed separately in a small pan.
Frequently Asked Questions
What fish is best for Indonesian grilled fish?
Choose a firm, mild fish that can handle turning, such as snapper, sea bass, or grouper. Skin-on fillets are especially helpful because the skin protects the flesh and releases from the grill when it is ready. If using a softer fish such as cod or tilapia, use a grill basket or foil to reduce the chance of the fillet breaking.
Is kecap manis the same as regular soy sauce?
No. Kecap manis is a thick, sweet Indonesian soy sauce, while ordinary soy sauce is much saltier and thinner. It gives this recipe its characteristic sweet-savory glaze. If you cannot find it, the brown-sugar, soy-sauce, and molasses mixture in the tips is a practical substitute, though the flavor will be less rounded and the texture less syrupy.
Can I marinate the fish longer?
For the best texture, keep the marinating time to about 15 minutes. The lime juice and salt season the surface, but a much longer soak can make delicate fish soft or slightly firm at the edges. If you need to get ahead, mix the marinade and sambal earlier, refrigerate them separately, and coat the fish shortly before grilling.
Can I make the sambal ahead?
Yes. Cook it, cool it promptly, and store it in a covered container in the refrigerator for up to 3 days. Let it sit out briefly while the fish cooks, or warm it in a small pan. You can also chop the chiles, shallot, and garlic in advance, but cook the mixture before serving for a rounder, less raw flavor.
How can I tell when the fish is done without overcooking it?
A food thermometer gives the clearest answer: check the thickest section and remove the fish when it reaches 145°F (63°C), the USDA FSIS safe minimum. Properly cooked fish is opaque and separates into flakes with gentle pressure. Grill timing varies with the cut and the heat, so use the temperature rather than the clock alone.
Can I cook this recipe without an outdoor grill?
Yes. A grill pan gives the closest indoor result, while the oven method in the variations is convenient for cooking several fillets at once. A hot skillet also works: cook skin-side down until the skin is crisp and the fish is nearly cooked through, then turn briefly to finish. In every method, use a thermometer to confirm 145°F (63°C) in the thickest part.
Related
- Traditional Indonesian Beef Rendang, Slowly Braised
- Flores Indonesian Fried Bananas with a Crisp Batter
- Indonesian Soup Recipe for Golden Chicken Soto Ayam
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).