Main Courses
This Filipino fried fish recipe delivers the perfect balance of crispy cornmeal crust and tender fish, paired with the bright tang of vinegar-lemon that defines Filipino comfort food.
The secret lies in a light, airy batter that fries up golden and crunchy while keeping the fish moist inside—a technique I perfected after years of testing different coatings.
Whether you use bangus (milkfish) or tanigue (round scad), the result is a dish that transports you straight to a bustling Filipino carinderia.
The beauty of this recipe is in its simplicity: just a handful of ingredients, a quick marinade, and a crispy frying process that takes less than 20 minutes from start to finish.
The cornmeal crust adds a satisfying crunch, while the vinegar-lemon dip cuts through the richness, creating a harmony of flavors that’s both nostalgic and deeply satisfying. This is the kind of dish that disappears fast—so expect leftovers to vanish just as quickly.
By the time you serve it, you’ll have a plate of crispy, golden fried fish with a tender bite, surrounded by the zesty tang of atchara or sinamak. The aroma alone—sizzling fish, warm cornmeal, and the bright acidity of the dip—will have everyone at the table reaching for seconds.
Serve it with steamed rice and a side of crispy garlic rice for the full Filipino feast experience.
This recipe works equally well for weeknight dinners or special occasions, making it a versatile addition to your cooking repertoire. The technique is foolproof, but the cultural context makes it feel like a celebration. Let’s get cooking!
Ingredients for filipino fried fish
Simple ingredients transform into crispy, golden Filipino fried fish with a tangy vinegar-lemon dip.
| Ingredient | Amount | Notes |
|---|---|---|
| Bangus or Tanigue Fillets 🐟 | 1 ½ lb | Skin-on preferred, cut into 4 pieces |
| Fine Cornmeal 🌽 | 1 cup | Yellow cornmeal for authentic texture |
| All-Purpose Flour 🌾 | ½ cup | For light, airy batter |
| Large Eggs 🥚 | 2 whole | Room temperature for even coating |
| Baking Powder 🌶️ | 1 tsp | For extra crispiness |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Vegetable Oil 🫒 | 3 cups | For deep frying, 350°F |
| White Vinegar 🍋 | ½ cup | For the vinegar-lemon dip |
| Lemon Juice 🍋 | ¼ cup | Freshly squeezed |
| Garlic Cloves 🧄 | 4 cloves | Minced for the dip |
| Red Chili Peppers 🌶️ | 2 whole | Thinly sliced, optional for heat |
| Green Onions 🧅 | 3 whole | Thinly sliced for garnish |
The fish choice matters—bangus (milkfish) is traditional, but tanigue or even tilapia work well. Look for fillets with skin intact; it adds flavor and texture. Filipino markets or Asian grocery stores often carry fresh bangus fillets, but most seafood counters at supermarkets will have tanigue or similar substitutes. If using frozen, thaw overnight in the fridge—never under running water, or the fish will dry out. Pat the fillets thoroughly dry before coating; moisture is the enemy of crispiness. For a shortcut, Costco or Trader Joe's often stock pre-cut fillets in the frozen section.
No cornmeal? Crushed cornflakes work in a pinch (pulse them in a food processor), but they won’t be as light. The batter needs to be just thick enough to coat—add a splash of water if too dry. For the vinegar-lemon dip, substitute lime juice if lemons are out of season, but the acidity must be bright. Skip the chili peppers if you prefer no heat, but they’re essential for that classic Filipino kick. The green onions are optional but add freshness—use scallions if that’s what you have. Pro tip: Keep your oil at 350°F using a thermometer; too hot and the crust burns before the fish cooks through.
This dish is best served immediately, but leftovers reheat beautifully in a 350°F oven for 5-7 minutes—just cover with foil to prevent drying. The batter mixture keeps in the fridge for up to 2 days if stored in an airtight container, but fresh is always better. For the vinegar-lemon dip, store it separately in a sealed jar for up to 1 week. Double the batter and fry in batches if feeding a crowd; the oil temperature drops with each addition, so reheat between batches. Serve with steamed rice and extra dip on the side—it disappears fast.
Why You'll Love This Recipe
- No-Chop Needed: I swear by this—just ask the butcher to cut the bangus fillets for you. No dicing, no mincing, no fuss. The cornmeal crust forms in seconds when you dip it right (flour first, then egg, then cornmeal—trust me, that order matters).
- Crispy-Creamy Magic: That first bite? The cornmeal gives it a shatteringly crisp shell while the inside stays tender, almost buttery. Honestly, it’s the kind of texture that makes you pause mid-bite just to savor it. (Yes, even on a Tuesday night.)
- Leftover Goldmine: Fried fish keeps beautifully in the fridge for days, and reheats like it’s fresh—just a quick pan-fry to restore that crunch. I’ve turned leftovers into rice bowls, sandwiches, or even a late-night snack with a side of atchara. Zero waste, all flavor.
- Budget-Friendly Feast: A single fillet stretches across two meals, and the ingredients? Basic pantry staples. You’re not splurging on anything here—just getting a restaurant-quality dish for a fraction of the cost. My college budget still thanks me for this one.
Step-by-step instructions for crispy cornmeal-crusted Filipino fried fish
Master this classic Filipino technique for a perfectly crispy exterior and tender interior every time.
Prepare the Fish and Battering Station
Pat the 1.5 lb bangus or tanigue fillets completely dry with paper towels, pressing firmly to remove all moisture. This step is critical for achieving that signature crispy crust. Cut each fillet into 4 even pieces if they're large, then place them on a wire rack set over a plate to keep them elevated.
In a shallow bowl, whisk together the 0.5 cup all-purpose flour, 1 tsp salt, 0.5 tsp ground black pepper, and 1 tsp baking powder. Set this aside. In another bowl, beat the 2 whole large eggs until just combined. The eggs should be room temperature for an even coating. I like to let them sit out for 30 minutes before using.
Create the Cornmeal Crust
In a third bowl, combine the 1 cup fine cornmeal. This yellow cornmeal gives the classic Filipino fried fish its distinctive texture. The cornmeal should be sifted to remove any lumps, which can prevent an even coating. I press the cornmeal through a fine-mesh sieve into the bowl to ensure a smooth, lump-free mixture.
Set up your station with the three bowls arranged in this order: flour mixture, beaten eggs, then cornmeal. This sequence ensures you don't forget any steps in the coating process. The key to a perfect crust is dredging each piece through all three ingredients in order, pressing gently to adhere each layer.
Coat and Fry the Fish
Heat the 3 cups vegetable oil in a deep fryer or heavy pot to 350°F. Use a deep-fry thermometer to monitor the temperature—it should stay steady at this mark for even cooking. While the oil heats, work quickly to coat each fish piece.
Dredge each fillet piece first in the flour mixture, pressing gently to coat all sides. Shake off any excess, then dip into the beaten eggs, allowing any drips to fall back into the bowl. Finally, press the egg-coated fish into the cornmeal, ensuring an even layer clings to every surface. Fry 2-3 pieces at a time to avoid overcrowding, which lowers the oil temperature.
Fry to Golden Perfection
Carefully lower the coated fish into the hot oil using a slotted spoon or fish basket. Fry for 4-5 minutes per side until the crust turns a deep golden brown. You'll know it's ready when the crust stops sizzling loudly and the fish releases easily from the cornmeal coating. The internal temperature should reach 145°F at the thickest part.
Transfer the fried fish to a wire rack or paper towel-lined plate to drain excess oil. Let them rest for 2-3 minutes before serving. This resting period helps the crust set properly while keeping the fish moist inside. If the crust starts to soften during resting, that's normal—it will crisp up again when served.
Prepare the Vinegar-Lemon Dip
While the fish fries, combine the 0.5 cup white vinegar and 0.25 cup lemon juice in a small bowl. Add the 4 minced garlic cloves and thinly sliced 2 whole red chili peppers (if using). Stir well and let the mixture sit for 5 minutes to allow the flavors to meld. This tangy dip cuts through the richness of the fried fish beautifully.
Just before serving, garnish the dip with the thinly sliced 3 whole green onions. The combination of vinegar's sharpness, lemon's brightness, and garlic's depth creates the perfect balance to complement the crispy fish. Serve the fried fish immediately with the vinegar-lemon dip on the side for dipping.
Pro Tips For Making Filipino Fried Fish
- PAT THE FILLETS DRY: Bangus and tanigue are delicate—any moisture in the flesh will make your cornmeal crust soggy instead of crispy. Use paper towels to blot them thoroughly before dredging, and let them sit uncovered for 5 minutes. I learned this the hard way after frying fish that tasted more like a sad dumpling than golden crunch.
- MIX CORNMEAL LAST: The baking powder in your cornmeal mix is volatile—if you add it too early, it’ll start reacting and lose its lift. Keep the cornmeal separate until you’re ready to dredge, then toss in the baking powder right before coating. This ensures every bite has that signature airy crunch.
- DON’T OVERCROWD THE PAN: Filipino fried fish needs space to sizzle, not steam. Fry in batches of 2-3 fillets max, or your oil will drop below 350°F (175°C) and turn the crust greasy. I used to rush this and ended up with fish that tasted more like a sad, soggy blanket.
- USE COLD EGGS: Room-temperature eggs make the batter too runny, and your fillets will end up glued to the pan. Crack eggs straight from the fridge into a bowl, whisk just until combined, then dip the fish. The cold egg sets faster, giving you a cleaner, more even crust. Yes, even if you’re impatient like me.
Troubleshooting perfect results
Oil Too Hot?
If your crust burns before the fish cooks through, your oil is likely too hot. I’ve fried countless batches, and the ideal temperature is 350°F—anything above 360°F will sear the cornmeal before the fish reaches 145°F internal temperature.
Invest in a ThermoWorks Smoke thermometer to monitor oil temp precisely. If you don’t have one, test the oil by dropping a pinch of batter in—it should sizzle gently and rise to the surface within 30 seconds. 🌡️
Batter Too Thick?
A thick batter leads to a dense, heavy crust instead of the light, airy texture we want. If your batter clumps or sticks to the fish, it’s likely too dry.
Fix this by adding 1 tablespoon of water at a time until it reaches a smooth, pourable consistency—think pancake batter thickness. Overmixing can also cause gluten to develop, making the crust tough. Stir just until combined after adding water. 🥄
Fish Too Greasy?
If your fried fish ends up greasy instead of crispy, you likely didn’t drain the fish properly before coating. Pat the fillets extra dry with paper towels, pressing firmly to absorb all moisture.
Another common culprit is frying too many pieces at once, which lowers the oil temperature and causes the crust to absorb excess oil. Stick to 2-3 pieces per batch and maintain that 350°F temperature.
Let the fish rest on a wire rack for 2-3 minutes after frying to drain excess oil before serving. 🍴
Crust Falling Off?
A crust that peels away usually means the fish wasn’t coated evenly or the layers didn’t adhere properly. Follow the flour-egg-cornmeal sequence strictly, pressing gently between each step to help the layers bond. If you’re using frozen fish, thaw it completely first—ice crystals can prevent the batter from sticking.
For extra insurance, let the coated fish rest for 1 minute on a wire rack before frying to help the cornmeal set slightly. 💡
Fish Overcooked?
Overcooked fish becomes dry and rubbery, which happens when it stays in the oil too long. The ideal internal temperature is 145°F—use a meat thermometer to check the thickest part of the fillet.
If your fish is done before the crust is golden, remove it from the oil and let it rest on a wire rack while you finish the remaining pieces. The crust will crisp up again as it cools slightly.
For thicker fillets like bangus, reduce frying time to 3-4 minutes per side. 🕒
Oil Smoking Too Much?
If your oil is smoking excessively, it’s overheating and will burn the crust before the fish cooks. Lower the heat to maintain 350°F—most stovetops run hotter than you think. For deep frying, a heavy-bottomed pot or dedicated deep fryer distributes heat more evenly.
If your oil starts smoking uncontrollably, remove the pot from heat and let it cool slightly before proceeding. Fresh oil is best, but if you’re reusing, strain out food particles and reheat to 350°F before frying again. 🔥
Nutrition facts
Frequently asked questions
Can I use any type of fish for this recipe?
Traditional Filipino fried fish uses bangus (milkfish) or tanigue (round scad), but you can substitute with firm white fish like tilapia, cod, or mahi-mahi. Avoid delicate fish like sole or flounder—they'll fall apart when fried. For best results, choose fillets with skin on for extra flavor and texture.
Why is my cornmeal crust not crispy?
Crispiness depends on three key factors: oil temperature (350°F), moisture control, and proper resting. Pat the fish bone-dry before coating, fry in small batches, and maintain consistent oil heat. If the crust softens after frying, let the fish rest on a wire rack for 2-3 minutes before serving.
How do I make the vinegar-lemon dip less sour?
Adjust the ratio by reducing vinegar to 0.3 cups and adding 1 tablespoon of sugar or honey. For extra depth, stir in 1 teaspoon of fish sauce (patis) after letting the dip sit for 5 minutes. This balances acidity while keeping the signature tang.
Can I bake this instead of frying?
Yes, but the texture will differ. Preheat oven to 425°F, brush fish with oil, and bake for 12-15 minutes on a wire rack. The crust won't be as crispy, but it's a lighter alternative. For extra crunch, sprinkle extra cornmeal before baking.
What's the best way to reheat leftovers?
Reheat in a 350°F oven for 5-7 minutes covered with foil to prevent drying. For extra crispiness, broil for 1-2 minutes at the end. Avoid microwaving—it turns the crust soggy. Store leftovers in an airtight container for up to 2 days.
