Sauces & Condiments
This sal recipe transforms simple fish into a vibrant, aromatic masterpiece that balances freshness with smoky depth—just like the dishes served in Bali’s beachside warungs. The secret lies in the marinade: a bright lime-chili base that tenderizes the fish while building layers of flavor that caramelize beautifully when seared.
I developed this version after years of perfecting the balance between raw and cooked textures, ensuring every bite delivers that signature sal experience without compromising safety.
The foundation of great sal is preparation—fresh fish like tuna or mackerel cut into delicate strips, marinated for just 10 minutes in a mixture of lime juice, shallots, and chili. The key is timing: the acidity of the lime begins breaking down the fish immediately, while the aromatics infuse deeply.
This isn’t just a dish; it’s a technique that elevates humble ingredients into something restaurant-worthy, with the added bonus of being ready in under 30 minutes.
When served, the fish remains tender yet firm, with a glaze that caramelizes slightly at the edges, creating a contrast of textures and temperatures. The dish pairs perfectly with steamed jasmine rice or crispy crackers, and the bright flavors make it ideal for both casual lunches and festive gatherings.
What makes this sal special is its versatility—adjust the chili for heat, swap in herbs like kaffir lime or mint for depth, or add a touch of tamarind for complexity.
For those new to Indonesian cuisine, this recipe bridges tradition with approachability. The smoky-spiced glaze isn’t just about flavor—it’s about technique, ensuring the fish cooks just enough to be safe while preserving its natural elegance.
Whether you’re making sal balado with tomatoes or sal jingga with turmeric, the principles remain the same: balance, freshness, and a touch of fire. Let’s bring the warung to your table.
Ingredients for sal
Fourteen ingredients, one transformative technique—elevating simple fish into restaurant-quality sal.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh White Fish Fillets 🐟 | 1 ½ lb | Tuna or mackerel preferred, skinless |
| Fresh Lime Juice 🍋 | ½ cup | Freshly squeezed, seeds removed |
| Shallots 🧅 | 4 whole | Minced, not sliced |
| Bird's Eye Chili Peppers 🌶️ | 3 whole | Seeds removed, finely chopped |
| Fresh Garlic Cloves 🧄 | 6 cloves | Minced, aromatic intensity |
| Coconut Oil 🥥 | 3 tbsp | Refined for neutral flavor |
| Light Brown Sugar 🍚 | 2 tbsp | Packed, for caramelization |
| Fresh Kaffir Lime Leaves 🍋 | 4 whole | Torn, aromatic depth |
| Fresh Galangal 🌿 | 2 oz | Peeled, finely grated |
| Soy Sauce 🥢 | 2 tbsp | Light or dark, non-vinted |
| Vegetable Oil 🫒 | 2 tbsp | High smoke point for searing |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Peppercorns 🌶️ | ½ tsp | Freshly cracked, coarse |
| Jasmine Rice 🍚 | 1 ½ cups | Uncooked, for serving |
The galangal and kaffir lime leaves are non-negotiable for authentic flavor. Asian markets carry fresh galangal in the refrigerated section, often sold in 1-pound blocks. Look for vibrant, firm rhizomes with no mold—Costco or H Mart are reliable sources. Kaffir lime leaves should be bright green and fragrant; if they smell musty, skip them. For the fish, sushi-grade tuna or mackerel ensures tender texture without overcooking. The shallots and garlic should be firm with no sprouting—Trader Joe's bulk bins offer consistent quality. Bird's eye chilies vary in heat; taste one first to gauge spice preference.
No galangal? Ginger at half the amount adds warmth but lacks complexity. Kaffir lime leaves unavailable? Substitute 1 tbsp lime zest plus 1 tsp lime leaf extract (found in specialty stores). Soy sauce substitutes include coconut aminos or tamari, but flavor will differ slightly. For the fish, cod or halibut work as alternatives, but texture will be firmer. The coconut oil must be refined—unrefined oil adds coconut flavor that overpowers the delicate marinade. Brown sugar can be swapped for white sugar plus 1 tsp molasses for deeper caramelization. Always toast spices like black peppercorns before grinding for maximum aroma.
Marinated fish keeps 2 days in the fridge, covered with plastic wrap. The glaze can be prepped 1 day ahead and stored in an airtight container. Freeze the glaze for 3 months by portioning into ice cube trays. Cooked fish reheats best in a 350°F oven for 5-7 minutes—never microwave, as it turns rubbery. Serve immediately after searing to preserve the caramelized edges. The rice should be steamed to perfection—jasmine rice absorbs liquid beautifully—and kept warm in a rice cooker until serving.
Why You'll Love This Recipe
- 20-Minute Magic: I swear by this for nights when I’m staring at the fridge at 7:30 PM. The fish fillets cook in one pan while the shallots and garlic sizzle—no chopping mountains of herbs, just a few quick slices. That lime juice ties everything together in a flash, and honestly? The hardest part is deciding whether to eat it immediately or wait.
- Zesty Kick: Between us, the bird’s eye chili peppers and lime juice make this dangerously addictive. The fish stays tender while the sauce delivers a bright, tangy heat that lingers—like a little vacation in every bite. I’ll be real: I’ve made it for friends who “don’t like spicy,” and they’re always back for seconds.
- Weeknight Workhorse: This is my go-to when the kids have random schedules or my partner’s “out-of-town” means “working late.” It’s light enough for summer but filling enough for a crowd—just double the fish and lime if you’re feeding more. (Yes, even on a Tuesday night.) The leftovers? Just as good reheated the next day, especially with a sprinkle of extra chili flakes.
- Budget Brightener: Fresh white fish might sound fancy, but it’s a steal compared to pricier proteins. Shallots and garlic stretch further than you’d think, and a single lime lasts for multiple batches. I’ve made this for $15 and fed four people—plus, the leftovers save me from ordering takeout later. Practical? Absolutely. Delicious? Even more so.
Step-by-step instructions for smoky-spiced glazed fish
Here's the method for achieving a perfectly balanced glaze that caramelizes beautifully on the fish.
Prepare the Aromatic Glaze Base
In a medium saucepan, combine the 2 tablespoons light brown sugar, 2 tablespoons soy sauce, and 0.5 cup fresh lime juice. Bring to a gentle simmer over medium heat until the sugar begins to dissolve completely, which should take about 3 minutes. This step is critical—if you rush it, the sugar won't caramelize properly in the final glaze.
While the mixture simmers, add the 6 cloves minced fresh garlic cloves and 2 ounces peeled, finely grated fresh galangal. Stir constantly for 2 minutes until the garlic becomes fragrant and the galangal releases its citrusy aroma. The galangal should soften slightly but not turn mushy—this indicates proper heat control. Remove from heat and set aside temporarily.
Build the Spiced Oil Infusion
Heat 2 tablespoons vegetable oil in a small skillet over medium-low heat. Add the 4 whole minced shallots and cook for 4-5 minutes until they become translucent and just begin to turn golden. Immediately remove from heat and stir in the 3 whole finely chopped bird's eye chili peppers (seeds removed) and 4 whole torn fresh kaffir lime leaves. Let this mixture steep for 5 minutes while covered—this allows the chilies and lime leaves to infuse their flavors into the oil.
Strain the infused oil through a fine-mesh sieve into the sugar mixture you prepared earlier. Discard the solids. The resulting liquid should be a vibrant amber color with visible red specks from the chilies. This infusion forms the aromatic backbone of your glaze, so don't skip the straining step—it ensures a smooth, professional finish.
Create the Caramelized Glaze
Return the strained mixture to the saucepan and add 3 tablespoons coconut oil. Increase heat to medium-high and bring to a boil. Reduce heat to medium and let the glaze simmer uncovered for 8-10 minutes, stirring frequently with a wooden spoon. You're looking for a reduction that coats the back of a spoon and develops a glossy sheen.
During this time, the sugar will begin to caramelize, creating a deep, smoky aroma. Watch carefully—the glaze should reduce by about one-third but not burn. If it starts to darken too quickly, reduce heat to low and continue simmering. The final glaze should be thick enough to coat the back of a spoon but still flow smoothly when stirred. Taste and adjust seasoning with 1 teaspoon salt and 0.25 teaspoon black peppercorns (save the remaining for finishing).
Prepare and Glaze the Fish
While the glaze simmers, heat 2 tablespoons vegetable oil in a large skillet over medium-high heat until shimmering. Pat the 1.5 lb fresh white fish fillets completely dry with paper towels—this ensures maximum crispiness. Season both sides generously with the remaining 0.5 teaspoon black peppercorns and 0.5 teaspoon salt. Sear the fish for 3-4 minutes per side until the edges turn opaque and the bottom develops a golden crust.
Remove the fish from the skillet and transfer to a warm plate. Immediately pour the prepared glaze over the fish, coating it evenly. Let it sit for 2 minutes to allow the glaze to set slightly. The fish should be glistening with a deep amber glaze that caramelizes beautifully on the surface. Serve immediately over 1.5 cups cooked jasmine rice to soak up the rich, spiced sauce.
Final Presentation and Serving
Garnish each serving with an additional torn fresh kaffir lime leaf and a sprinkle of finely chopped bird's eye chili peppers for both visual appeal and an extra heat kick. The glaze should be sticky and slightly syrupy, clinging to the fish while maintaining its balance of sweet, spicy, and umami flavors.
For optimal texture, serve the fish immediately after glazing while the rice is still warm. The contrast between the crispy seared edges, tender fish, and aromatic glaze creates a harmonious bite. If you're serving multiple courses, keep the glazed fish warm in a 200°F oven for no more than 10 minutes—any longer and the glaze may dry out or lose its shine.
Pro Tips For Making Sal
- SEAR FIRST, CITRUS LATER: Hit the fish with a quick, screaming-hot sear in oil—just 30 seconds per side—before adding the shallot-chili-garlic mix. The fish stays together, and the lime later brightens instead of steaming the fillets into mush. (Yes, even if you're impatient like me.)
- MINCE SHALLOTS SMALLER: I used to chop them roughly, thinking it didn’t matter. Wrong. Finely minced shallots dissolve into the oil, creating a silky base that coats the fish instead of sitting in clumps. Use the flat side of your knife for precision—it’s faster than you’d think.
- SALT THE FISH LAST: Season the fish after searing, or it’ll release moisture and turn to rubber. Sprinkle salt right before adding the lime—just 5 minutes before serving—so it crisps the edges without overworking the flesh. (Your future self will notice the difference.)
- TOAST THE CHILI-GARLIC: Fry the chopped bird’s eye chilies and garlic in the same oil until they’re fragrant and just turning golden—about 30 seconds. This deepens their flavor way more than raw mincing ever will. Skip this, and you’re basically eating raw garlic with your fish. (No one wants that.)
Pro cooking tips for great sal
Fish Selection Matters
The right fish makes all the difference in your sal. I recommend sushi-grade tuna or mackerel—their firm texture holds up beautifully to searing while remaining tender. Avoid flaky fish like cod, which can fall apart when glazed.
Look for fish with a bright, clean smell and firm flesh that springs back when pressed. Trader Joe's or Whole Foods carry excellent options, but if you're near an Asian market, ask for freshly cut fillets from the seafood counter. 🐟
Marinate Just 10 Minutes
Over-marinating fish in acidic lime juice turns it mushy. The ideal time is exactly 10 minutes—this allows the lime to tenderize the fish slightly without breaking down the proteins completely.
Work quickly after cutting the fish into strips, then pat dry thoroughly before searing. I use paper towels for the best results, ensuring no moisture interferes with the Maillard reaction. 💡
High Heat for Crispy Edges
Your skillet must be ripping hot before adding the fish—medium-high heat is non-negotiable for that perfect crust. I use a carbon steel skillet (like Mauviel) because it heats evenly and retains heat better than stainless steel.
Add just enough vegetable oil (about 2 tablespoons) to coat the bottom—too much oil will steam the fish instead of searing it. 🔥
Glaze Reduction Timing
The glaze needs 8-10 minutes of simmering to reach the right consistency. Watch closely—the moment it coats the back of a spoon is your cue. If it darkens too quickly, reduce heat immediately to prevent burning.
I stir constantly with a wooden spoon to distribute heat evenly. The final glaze should be syrupy but still pourable—like honey in texture. ✨
Rest Before Serving
Letting the glazed fish rest for 2 minutes after pouring the sauce ensures the glaze sets properly. This short pause prevents the sauce from pooling at the bottom of your plate. Serve immediately over steaming jasmine rice to maintain the perfect temperature contrast.
If you must hold the fish, keep it in a 200°F oven for no more than 10 minutes—any longer, and the glaze loses its shine. 💫
Garnish for Freshness
Top each serving with torn kaffir lime leaves and finely chopped bird's eye chilies just before eating. The lime leaves add an aromatic finish, while the chilies introduce a bright, spicy kick.
I also like sprinkling toasted sesame seeds for extra texture. These final touches elevate the dish from homemade to restaurant-quality. 🌿
Nutrition facts
Frequently asked questions
What type of fish works best for this recipe?
For optimal results, use sushi-grade tuna or mackerel—their firm texture holds up perfectly to the glazing process. Avoid flaky fish like cod, as they can fall apart when seared. Always choose fish with a fresh, clean smell and firm flesh that springs back when pressed.
Can I make this recipe without galangal?
Yes, but the flavor will differ. Substitute ½ the amount of fresh ginger for warmth, though it won't replicate galangal's citrusy complexity. For a closer match, try 1 tbsp lime zest plus 1 tsp lime leaf extract (available in specialty stores). The dish will still taste delicious but lose some depth.
How do I adjust the spice level?
Remove seeds from bird's eye chilies for milder heat, or use ½ the amount if you prefer less spice. For extra kick, add 1 extra chili or ¼ tsp cayenne pepper to the glaze. Always taste the glaze before glazing the fish—adjustments are easier before cooking!
Can I prepare the glaze ahead of time?
The glaze can be made 1 day ahead and stored in an airtight container in the fridge. Reheat it gently over low heat until warm, then proceed with glazing the fish. For longer storage, freeze the glaze in ice cube trays for up to 3 months. Thaw overnight in the fridge before using.
What happens if I overcook the fish?
Overcooking turns the fish rubbery and dry. The key is 3-4 minutes per side on medium-high heat—the edges should just turn opaque. If your fish cooks too quickly, reduce heat slightly or use a thicker-cut fillet. Always use a meat thermometer to check: 145°F is the safe internal temp for cooked fish.
