Save This Recipe
You know that moment—you open a pack of fresh fish, and before you even start cooking, there it is. That sharp, slightly off smell that makes you pause for a second.
It’s not spoiled. Not really. But it’s… noticeable.
And if you’ve ever stood there wondering whether you should keep going or quietly switch dinner plans, you’re not alone. A lot of home cooks run into this, especially when working with perfectly good fish that just smells stronger than expected.
That’s exactly how I ended up trying something I’d heard about for years but never actually tested: soaking fish in whole milk.
Sounds simple. Almost too simple, right?
Well—here’s the thing.
Why This Even Matters (More Than You’d Think)
Cooking fish at home is one of those skills that feels impressive but can also feel a little intimidating. Not because it’s hard—it’s not—but because small details make a big difference.
Smell is one of those details.
It affects everything:
- How confident you feel cooking it
- How your kitchen smells afterward
- Even how the final dish tastes in your mind
And honestly? If something smells “off” before cooking, it can throw off your whole experience—even if the fish turns out fine.
So finding a simple fix that doesn’t involve fancy ingredients or complicated prep… that’s worth paying attention to.
So… What’s Actually Going On With That Smell?
Let me explain—without turning this into a science lecture.
That “fishy” smell mostly comes from compounds that develop as fish ages, even slightly. It’s normal. Fresh fish can still have it, especially certain types like cod or tilapia.
Now here’s where milk comes in.
Milk contains proteins (mainly casein) and fat. These components interact with those odor-causing compounds and help pull them away from the surface of the fish.
In simpler terms?
The milk kind of “grabs onto” the smell and takes it with it.
It’s not magic—but it does feel a little like it.
Wait… Does This Trick Actually Work?
I had the same question.
Honestly, I expected a subtle difference at best. Maybe psychological.
But after trying it side by side—one batch soaked in milk, one not—the difference was noticeable. Not dramatic, not life-changing, but definitely there.
The milk-soaked fish:
- Smelled cleaner before cooking
- Had a milder aroma while cooking
- Tasted slightly fresher
And here’s the important part—it didn’t taste like milk. Not even a hint.
That was my biggest concern going in, and it turned out to be a non-issue.
How To Do It (It’s Almost Too Easy)
This is one of those kitchen tricks where the instructions feel almost unnecessary—but let’s keep it clear.
What you need:
- Fresh fish fillets
- Whole milk (enough to submerge the fish)
Steps:
- Place the fish in a shallow dish or bowl
- Pour enough milk over it to fully cover the fillets
- Let it sit for about 15–20 minutes
- Remove the fish and gently pat dry with paper towels
- Cook as usual
That’s it. No extra seasoning, no rinsing afterward—just a quick soak and you’re done.
A Few Things People Get Wrong (Because It Happens)
This method is simple, but there are still a couple of small missteps that can make it less effective.
Using low-fat milk:
It still works—but whole milk does a better job. The fat helps.
Soaking too long:
More isn’t better here. Stick to about 20 minutes. Longer doesn’t improve the result and can slightly affect texture.
Skipping the drying step:
If the fish is too wet when it hits the pan, you won’t get that nice sear. Pat it dry—gently, but thoroughly.
Little Kitchen Wisdom (That You Only Learn Over Time)
Here’s something interesting—this trick doesn’t just help with smell. It can also slightly improve texture, especially for lean fish.
It won’t turn a tough fillet into something buttery, but it softens the edges, so to speak. Makes it feel more forgiving when cooking.
And if you’re someone who cooks fish for family members who are a bit sensitive to strong flavors (kids, especially), this can make a noticeable difference in how well the dish is received.
Funny how small tweaks like this quietly change everything.
Can You Use Something Else Instead?
People sometimes ask if they can swap milk for something like lemon water or vinegar.
Short answer—yes, but it’s not the same.
Acidic options like lemon juice will mask or balance the smell, not remove it in the same way milk does. They also start to “cook” the fish slightly (like ceviche), which changes texture if left too long.
Milk is gentler. More neutral.
If you want clean flavor without altering the fish itself, milk is the better choice.
When You Might Not Need This Trick
Here’s a small contradiction—but an honest one.
If your fish is extremely fresh, you probably don’t need this at all.
Good-quality, just-caught fish should smell mild—almost like the ocean, not “fishy.” In those cases, soaking might not make a noticeable difference.
But for everyday grocery store fish?
This trick earns its place.
The Takeaway (Simple, But Worth Remembering)
Cooking isn’t always about big techniques or complicated recipes. Sometimes it’s these small, almost old-fashioned habits that make the biggest difference.
Soaking fish in milk is one of those quiet upgrades:
- Easy
- Inexpensive
- Surprisingly effective
And once you try it, it kind of sticks with you. You start doing it without thinking—just part of the routine.
Honestly, it’s the kind of thing someone might’ve told you years ago, and you brushed it off. Then one day you try it… and think, “Oh. That actually works.”
And that’s the best kind of kitchen trick, isn’t it?

