You don’t get the grill or stove warm enough
The pan or grill should be searing hot. When cold fish proteins come in contact with hot metal, they form chemical bonds that are extremely tough to break. It’s why you end up leaving part of the fish behind when you flip it. If you’re cooking fish on the grill or stovetop, be patient. “Put your pan on the stove and turn the burner on medium heat for three to five minutes before placing your fish,” says Giuseppe Tentori, executive chef and partner at GT Fish & Oyster, a seafood restaurant in Chicago. When the pan or grates are extremely hot, the fish is easier to flip. (By the way, here’s why you shouldn’t avoid buying frozen fish at the grocery store.)
You cook it for too long
Cooking fish too long will dry it out and cause it to lose its natural flavors. A good rule of thumb: Measure the fish at its thickest point and cook for 10 minutes per inch, flipping halfway through. The flesh should feel firm and turn from translucent to opaque or white, but still be slightly translucent in the middle. “Take it off when there’s just that little bit of translucency left in the middle,” says Randy Hartnell, former Alaskan fisherman and founder of Vital Choice, a website that sells fresh seafood. “You can apply this tip to almost any type of fish. If it’s almost done, it’s done.”
For salmon, look for white lines to stand out. “When salmon is almost done, some of the proteins—which are a white color—will begin to leak out of the fish because they’ve coagulated,” says Tentori.