What Does Soaking Fish in Milk Do to Fishy Smell?

Soaking fish in milk removes or dramatically reduces the fishy smell and taste that can make even fresh fillets off-putting. The technique works because proteins in milk bind to the compounds responsible for that fishy odor, neutralizing them before you ever turn on the stove. It’s a simple trick that takes about 20 minutes and requires nothing more than a bowl and some whole milk.

Why Fish Smells Fishy in the First Place

That characteristic “fishy” smell comes from the oxidation of fatty acids in the fish’s flesh. When fish is exposed to air, especially after it’s been cut into fillets, those fats break down and release odor compounds called amines. The longer fish sits after being caught and processed, the more amines build up. This is why truly fresh fish barely smells like anything at all, while older fillets or thawed frozen fish can hit your nose the moment you open the package.

The process accelerates with oilier fish like salmon, mackerel, and bluefish, which have more fat available to oxidize. White fish like cod and tilapia produce fewer of these compounds, but they’re not immune, particularly after freezing and thawing.

How Milk Neutralizes the Odor

Milk contains casein, a protein that binds to the fatty acid byproducts responsible for fishy odor and taste. When you submerge a fillet in milk, casein essentially grabs onto those odor compounds and pulls them out of the fish. By the time you remove the fillet and pat it dry, many of those compounds are sitting in the milk instead of in your dinner.

There’s also a mild tenderizing effect at work. Milk contains small amounts of lactic acid, the same compound that makes buttermilk so effective at tenderizing chicken before frying. While the concentration in regular milk is much lower than in buttermilk, it can still gently soften the surface of the fish, which some cooks find gives the finished fillet a slightly more delicate texture.

Which Fish Benefit Most

The technique works best on fish with stronger flavors and higher fat content. Salmon is the most common candidate, and testing confirms it delivers clear results. Fresh salmon that already had only a faint fishy smell lost that scent entirely after a milk soak. Frozen salmon, which tends to develop a more noticeable odor during thawing, showed an even more dramatic improvement, with the smell all but disappearing.

Other oily fish like sardines, mackerel, and trout are also strong candidates. If you’ve ever been hesitant to cook these species at home because of the smell, a milk soak can make them much more approachable. Milder white fish like cod, halibut, and tilapia can benefit too, particularly if the fillets have been frozen or have sat in the fridge for a day. The effect is less dramatic simply because there’s less odor to remove.

How Long to Soak

Twenty minutes is the sweet spot for most fillets. That’s enough time for the milk proteins to bind with the odor compounds without any risk of the fish becoming waterlogged or mushy. Thicker cuts or particularly pungent fish can go up to 30 minutes. Soaking for more than an hour is excessive and won’t improve results. At that point, the texture of the fish may start to break down in ways you don’t want.

Use enough milk to fully submerge the fillets, and keep the bowl in the refrigerator during the soak. When you’re done, remove the fish, discard the milk, and pat the fillets completely dry with paper towels. This step matters: dry fish sears and crisps much better than wet fish, regardless of your cooking method.

Whole Milk vs. Buttermilk

Whole milk is the standard choice and works well for any preparation, whether you’re baking, broiling, pan-searing, or grilling. It neutralizes odor without adding any noticeable flavor of its own.

Buttermilk takes things a step further. It contains significantly more lactic acid than regular milk, so it’s more aggressive at both binding odor compounds and tenderizing the flesh. This makes it an especially good option if you’re making fried fish, where a slightly tangy, tender fillet is exactly what you want. For more delicate preparations like a broiled or baked fillet with a light seasoning, buttermilk’s tanginess can be too assertive. Stick with whole milk for those dishes.

As for plant-based milks like almond or oat, there’s no reliable evidence that they produce the same results. The odor-binding effect depends on casein, which is specific to dairy. If you’re avoiding dairy, a squeeze of lemon juice in water can help with fishiness through a different mechanism (acid neutralizes amines directly), though it won’t have the same tenderizing benefit.

What It Won’t Fix

A milk soak is not a way to rescue fish that has genuinely gone bad. If your fish smells strongly of ammonia or has a sour, rotten quality rather than just a typical “fishy” scent, no amount of soaking will make it safe to eat. The technique is designed for fresh or properly frozen fish that simply has more odor than you’d like. Think of it as refining the flavor of good fish, not disguising the signs of spoiled fish.

It also won’t change the fundamental flavor profile of a species. Salmon soaked in milk still tastes like salmon. What changes is the removal of that sharp, off-putting edge that can sometimes dominate, leaving a cleaner, more neutral base that takes seasoning and sauces better.