I love a simple piece of fish, but without a good marinade it can taste flat and forgettable fast.
The right marinade fixes that in under 30 minutes — no brining, no fuss, no special skills required.
I keep a small rotation of marinades I can throw together while the grill or oven heats up. Some are bright and citrusy, some are rich and buttery, and a couple bring real heat.
Below you’ll find my 11 go-to marinades for fish, plus the timing rules that keep every fillet flaky instead of mushy.
Key Takeaways
- Most fish only needs 15-30 minutes in a marinade with acid — longer and the texture can turn chalky or mushy.
- Every good fish marinade balances acid, salt, fat, and aromatics; skip any one and flavor or texture suffers.
- Delicate white fish like sole or flounder needs just 10-15 minutes; firmer fish like salmon or tuna can go up to 40-60 minutes.
- Yogurt marinades are gentler than straight citrus or vinegar and are a smart pick if you're worried about mushy fish.
- Never reuse raw marinade as a finishing sauce unless you boil it hard for several minutes first.
How Long to Marinate Fish, By Type
Match your fish to a safe marinating window before you start.
| Fish Type | Marinating Time |
|---|---|
| Firm fish (salmon, tuna, swordfish, cod) | 20-40 min with acid; up to 1 hour if low-acid |
| Delicate white fish (sole, flounder, haddock, hake) | 10-15 minutes only |
| Shrimp, scallops, squid | 10 minutes with acid; up to 1 hour without |
| Thin fillets (tilapia, small salmon pieces) | About 20 minutes |
Easy Fish Marinade Recipes to Try Tonight
These are the 11 marinades I come back to most, from bright lemon-garlic to smoky chipotle.
Each one makes enough for about 1 to 1.5 pounds of fish fillets.
1. Lemon Garlic Herb Fish Marinade
This is the marinade I make when I want something that tastes like it took effort but didn’t.
Whisk 1/4 cup olive oil, juice of 1 lemon, 2 minced garlic cloves, 1 tablespoon chopped parsley, 1 teaspoon dried oregano, and salt and pepper.
It works on almost any fish, but I love it most on salmon or halibut. Give it 20 to 30 minutes, no longer.
2. Garlic Butter Marinade
For a richer, steakhouse-style flavor, I melt butter into the mix instead of relying only on oil.
Combine 3 tablespoons melted butter, 1 tablespoon olive oil, 2 minced garlic cloves, a squeeze of lemon, and fresh thyme.
This one is fantastic on cod or halibut and pairs well with something like the sauces for salmon I use for extra richness on the plate.
3. Honey Soy Marinade
Sweet and salty is a reliable combo for fish that grills or broils fast.
Mix 3 tablespoons soy sauce, 2 tablespoons honey, 1 tablespoon rice vinegar, 1 teaspoon grated ginger, and a splash of sesame oil.
Because soy sauce is salty, I only marinate 15 to 20 minutes so the fish doesn’t taste over-seasoned.
4. Yogurt and Dill Marinade
This is my answer whenever someone asks if yogurt makes fish mushy — it actually does the opposite.
Stir together 1/2 cup plain yogurt, juice of half a lemon, 1 minced garlic clove, chopped fresh dill, salt, and pepper.
Yogurt coats the fish gently instead of hitting it with straight acid, so it’s a smart choice for white fish that turns mushy fast in citrus-only marinades.
5. Cajun Spice Marinade
When I want bold flavor with almost no chopping, I reach for a spice-forward marinade instead of a wet one.
Combine 2 tablespoons olive oil, 1 tablespoon Cajun seasoning, 1 teaspoon smoked paprika, and a squeeze of lime.
This works great on catfish, tilapia, or shrimp, and needs only 15 to 20 minutes since there’s very little acid.
6. Teriyaki Marinade
A homemade teriyaki marinade tastes far fresher than bottled, and it takes five minutes to mix.
Whisk 1/4 cup soy sauce, 2 tablespoons brown sugar, 1 tablespoon rice vinegar, 1 teaspoon grated ginger, and 1 minced garlic clove.
Salmon and tuna both hold up well here; I keep it to 20 to 30 minutes so the soy doesn’t overpower the fish.
7. Chipotle Lime Marinade
For fish tacos, this is the marinade I make on repeat.
Blend 2 tablespoons olive oil, juice of 1 lime, 1 minced chipotle pepper in adobo, 1 teaspoon cumin, and a pinch of salt.
It’s smoky, a little spicy, and works beautifully on mahi-mahi, tilapia, or shrimp in 15 to 20 minutes.
8. Mediterranean Olive Oil Marinade
This one leans almost entirely on fat and aromatics rather than acid, which means you can be more relaxed about timing.
Mix 1/4 cup olive oil, 1 minced garlic clove, chopped oregano, lemon zest, and a pinch of red pepper flakes.
Because it’s low-acid, this marinade is forgiving up to an hour and is a nice one if you’re not ready to cook right away.
9. Coconut Lime Marinade
Coconut milk gives this marinade a creamy, slightly sweet base that’s a nice change from the usual citrus-and-oil formula.
Whisk 1/3 cup coconut milk, juice of 1 lime, 1 teaspoon grated ginger, 1 minced garlic clove, and a pinch of salt.
This is one of my favorites for white fish or shrimp, and it pairs nicely with rice for a quick weeknight dinner.
10. Mustard Dill Marinade
Mustard adds tang and helps the marinade cling to the fish, which is handy on the grill.
Combine 2 tablespoons Dijon mustard, 1 tablespoon olive oil, 1 tablespoon lemon juice, and chopped fresh dill.
This is especially good on salmon and holds up well over 20 to 30 minutes.
11. Spicy Garlic Chili Marinade
When I want real heat, this is the one I reach for.
Mix 2 tablespoons olive oil, 1 tablespoon chili garlic sauce, 1 minced garlic clove, a squeeze of lime, and a pinch of salt.
It’s great on shrimp or firmer white fish, and 15 to 20 minutes is plenty since chili sauces bring their own acidity.
| Marinade | Best For | Time |
|---|---|---|
| Lemon Garlic Herb | Salmon, halibut | 20-30 min |
| Garlic Butter | Cod, halibut | 20-30 min |
| Honey Soy | Salmon, tuna | 15-20 min |
| Yogurt Dill | White fish | 30-45 min |
| Cajun Spice | Catfish, tilapia, shrimp | 15-20 min |
| Teriyaki | Salmon, tuna | 20-30 min |
| Chipotle Lime | Mahi-mahi, tilapia, shrimp | 15-20 min |
| Mediterranean Olive Oil | Any white fish | Up to 1 hour |
| Coconut Lime | White fish, shrimp | 20-30 min |
| Mustard Dill | Salmon | 20-30 min |
| Spicy Garlic Chili | Shrimp, firm white fish | 15-20 min |
How Marinades Work on Fish
Every good fish marinade balances four things: acid, salt, fat, and aromatics.
Skip one of these and the marinade either falls flat or actively works against the fish’s texture.
Acid — citrus juice, vinegar, wine, or yogurt — wakes up flavor and firms the surface of the fish. Too much for too long chalks up the outside before it even hits the heat, so I treat acid like a seasoning, not the main ingredient.
Salt works slower and I rely on it heavily. It draws moisture out, then some gets pulled back in carrying flavor, so the fish tastes seasoned all the way through rather than just on the surface.
Fat — olive oil, neutral oil, or melted butter — is your buffer and flavor taxi. It coats the fish evenly, stops acid from concentrating in one spot, and helps herbs and spices cling.
Aromatics like fresh herbs, garlic, ginger, and citrus zest mostly stay on the surface, which is fine since that’s what perfumes the fish once it hits the pan or grill. I crush or finely chop them so they release more flavor.
If you want the same approach applied to other proteins, the logic carries over almost exactly to marinades for chicken or marinades for steak — acid, salt, fat, aromatics, just with more forgiving timing.
How Long to Marinate Fish
Fish is far more delicate than chicken or beef, so timing matters more here than almost anywhere else in the kitchen.
I always think about texture first, then flavor.
Firm Fish (Salmon, Tuna, Swordfish, Cod)
Firm fish can handle a bit more time. With an acidic marinade, I keep it in the fridge 20 to 40 minutes.
For a mild, low-acid mix, you can stretch to an hour. Any longer and the outside turns opaque and tight — that’s your sign to stop and cook it.
For thinner pieces, like tilapia or small salmon fillets, I stay closer to the 20-minute mark. If you’re prepping ahead, check can you marinate fish overnight before you commit a fillet to an all-day soak.
Delicate Fish (Sole, Flounder, Haddock, Hake)
Delicate white fish needs a much lighter touch — I treat it almost like raw scallops.
10 to 15 minutes in an acidic marinade is plenty. Past that, the flesh starts to break down and turns mushy once cooked.
Shrimp, Scallops, and Squid
Shrimp, scallops, and squid follow a similar window: 10 minutes with acid keeps that nice bouncy bite.
If I want to marinate longer, I cut the acid and lean on oil, herbs, and aromatics instead — that lets me leave them in the fridge up to an hour without wrecking the texture.
If you’re building out a shrimp dinner, my marinades for shrimp guide has more timing specifics for that texture.
If you’re ever unsure, just shorten the time and add a drizzle of fresh citrus right before serving — that trick saves a lot of dinners.

Will a Yogurt Marinade Make Fish Mushy?
No — yogurt is actually one of the gentler options, not a risk for mushy fish.
Straight citrus juice or vinegar can over-firm and then break down delicate flesh if left too long, because the acid is concentrated and hits the surface directly.
Yogurt’s acidity is milder and it coats the fish in a thicker layer, so it tenderizes gradually instead of denaturing the surface fast.
That’s why a yogurt marinade is my go-to for flaky white fish that I’d otherwise worry about turning mushy in a lemon-heavy marinade.
I still don’t go past about 30 to 45 minutes with yogurt on delicate fish, just to stay safe on texture.
Best Way to Marinate Fish (Step by Step)
The method matters almost as much as the marinade itself.
- Pat the fish dry with paper towels before adding it to the marinade — excess surface water dilutes the flavor.
- Use a glass or ceramic dish, or a food-safe zip bag, so the marinade doesn’t react with metal.
- Lay fillets in a single layer so every piece gets even contact with the liquid.
- Marinate in the refrigerator, never on the counter, to keep the fish at a safe temperature.
- Set a timer based on the fish type above — delicate fish especially benefits from not guessing.
- Lift the fish out, let excess marinade drip off, and pat dry again before it hits a hot pan or grill for better browning.
If you’re planning fish for a party, the same batching tips apply whether you’re serving it alongside Mexican sides for a crowd or a simpler weeknight plate.
Common Fish Marinade Mistakes
Fish tastes chalky or dry after cooking — This usually means too much acid, too long. Cut the marinating time in half next time or dilute the citrus with more oil.
Fish falls apart or turns mushy — The marinade sat too long, especially with delicate fillets. Stick to the 10-15 minute window for sole, flounder, or hake.
Fish tastes bland despite marinating — Not enough salt in the marinade itself. Salt does the real seasoning work; herbs and acid just add brightness on top.
Marinade won’t stick to the fish — Add a spoonful more oil or a touch of mustard or yogurt, which both help the mixture cling to the surface instead of pooling in the dish.
The Bottom Line
Pick a marinade you’re excited to eat, keep it to 15-30 minutes for most fish, and go even shorter for delicate fillets like sole or flounder. Yogurt-based marinades are the gentlest option if you’re nervous about mushy texture.
Always marinate in the fridge, pat the fish dry before cooking, and never reuse the raw marinade as a sauce unless you boil it hard first.
Frequently Asked Questions
How long should I marinate fish?
For most fish, 15 to 30 minutes is the sweet spot. Delicate white fish can turn mushy past 15-20 minutes, especially with an acidic marinade.
Can I marinate fish overnight?
Only with a very mild, low-acid marinade. For most standard marinades with citrus or vinegar, stop at 30 to 45 minutes so texture stays intact.
Does yogurt marinade make fish mushy?
No, yogurt is gentler than straight citrus or vinegar because its acidity is milder and it coats the fish rather than concentrating on the surface. It’s actually a good choice for delicate fillets.
Should I add lemon or vinegar to a fish marinade?
Yes, but keep it light and brief. Acid brightens flavor quickly, then starts to firm the fish’s surface, so more isn’t better here.
Can I use leftover fish marinade as a sauce?
Only if you boil it hard for several minutes first to kill any bacteria transferred from the raw fish. Otherwise, mix a small fresh batch of the same flavors to serve as a sauce.
