Van Aert finished there race against the clock in 33min 38sec, ahead of Tejay Van Garderen (EF- Education First) at 31 seconds with Tom Dumoulin (Sunweb) in third at 47 seconds.
"It's a first WorldTour race win. I can't believe it," van Aert said after riding himself into ninth place overall. "I didn't know it was possible to win on this level so I'm super happy."
Yates finished sixth on the day to claim the yellow jersey in a race where he came second last year.
"That was a good time and a good day for me," he said. "We have one sprint stage tomorrow, so hopefully the sprint teams will help us control, and then it's straight to the mountains."
"We're in the jersey now and hopefully we can hold it all the way to the end."
Yates leads overnight leader Dylan Teuns (Bahrain-Merida) by just four seconds, Van Garderen is third at six seconds while Astana's Jakob Fuglsang is a further second in arrears.