The finalists were the best of field after a war of attrition and a crash whittled the peloton down from six in the initial break to just three inside the final 20km.
The 198.3km opening classic held in and around Gent, Belgium was the first victory for van Avermaet in 2017.
“The race was really hard,” van Avermaet said. “It was a beautiful race and we made it hard together with Peter Sagan. We opened up the race at the right time at Eikenberg. It was really nice to come with three guys to the finish and wonderful that I could finish it off.
“I had confidence from last year that I could win in a sprint on this finish and in the end, it was a good sprint and I am really happy with what I did today.”
The women’s race was won by Lucinda Brand (Sunweb) ahead of Chantal Blaak (Boels-Dolmans) and Annemiek van Vleuten (Orica-Scott).
"It was a really good day. The team were great and supporting me really well by keeping me out of the headwind,” Brand said.
"I started the Molenberg first and when the attacks went we got away in a small group. Ellen's [van Dijk] gap held well in front which was good for me then I bridged across on the cobblestones when the gap came down.
“Then we were six with a few strong sprinters so we wanted to get away. With about 10km to go we started attacking. I had my final attack with about 5km to go - this was really hard but Ellen did a great job behind reacting to everything."