Patience and a well-oiled grate are the key to excellent grilled fish.
Question: How can I keep fish from sticking to the grill?
Answer: Here's the thing: When you grill fish, interactions take place between the proteins in the fish and the metal in the grill grates at a molecular level.
The fish and grill quite literally become fused. So how do you prevent this?
The first step is to make sure your grill grates are spotless. Burned-on debris can create a rough surface, making it more likely the fish will stick. To clean your grill, build a nice hot fire, cover the grill, and let the rack heat up for at least 10 minutes before scraping clean with a brush.
Next, season the rack to build a nonstick coating, just like with a cast-iron pan. Using tongs, rub the clean grill rack with a paper towel dipped in canola oil. Repeat 5 or 6 times, once every 15 seconds. As the layers of oil heat, they form plastic-like polymers that help minimize contact between the fish and metal. Rubbing a thin layer of oil on the fish will also help minimize contact. (If the fish has skin, start skin side down.)
Before you add the fish, make sure the grate is very hot. This allows radiant heat from the grate to begin cooking the fish before it even makes physical contact. Once the proteins have been set with heat, they will no longer react with the metal, making it easier to lift them. –Kenji Lopez-Alt