The Paris-Roubaix champion outsprinted Rui Costa (UAE Team Emirates) and Alexey Lutsenko (Astana) in a thrilling finish to take Stage 3 and the race lead at Wadi Dayqah Dam.
Australian Nathan Haas (Katusha-Alpecin), who took the red jersey after Stage 2, finished fifth and is now third overall behind Lutsenko.
It was Van Avermaet's first victory from eight career appearances in Oman and his second of the season, following a team time trial scalp at the Tour of Valencia.
Speaking to press at the finish, the Belgian, who finished runner-up to Haas on Stage 2, soaked up the win with a cobbled race title defence around the forefront of his mind.
"I'm really happy with the stage, that's the most important I think, pretty happy with my condition for the classics," he said.
Van Avermaet (BMC) described the race lead here as a "nice extra", effectively ruling himself out of title contention saying Saturday's queen stage to Green Mountain is out of his remit.
"I'm always happy to win, and finally here in Oman after so many years. I think for GC it's too hard for me, Green Mountain, so I have no big ambitions there. I'm just happy with how it went today and want to enjoy the moment," he said.
The 179.5km third stage from the German University of Technology to Wadi Dayqah Dam could be likened to an extreme rollercoaster that snaked through sheer rock mountains, which seemed to radiate heat.
A four-man break including Australian Nicholas Schultz (Caja Rural - Seguros RGA), Loic Chetout (Cofidis), Xandro Meurisse (Wanty-Groupe Gobert) and Wouter Wippert (Roompot-Nederlandse Loterij) were allowed to dangle out the front until just before the final climb where the real race began.
Lutsenko's Astana team drilled on the front within the last 10km but could not drop Van Avermaet or BMC Racing on the Wadi Dayqah ascent.
"They were trying to make the race hard. For me, it was good because it got rid of some sprinters. I think they're the strongest team uphill for the moment so they tried to make the race in their favour but I was able to stay there," Van Avermaet said.
"With 3km to go on the descent, we tried to take the lead of the peloton, putting myself in the perfect position … I could wait until the perfect moment. I went full gas and hoped no one could follow, and that's how it was."
You can catch Van Avermaet in action LIVE at the Tour of Flanders (Sun 1 April) and Paris-Roubaix (Sun 8 April) on SBS. (Times/channel TBA)