Woods won the 179km race with an attack 500m from the line. Valverde was closing in on the line, but couldn’t reach him.
Great Britain’s Adam Yates claimed third.
Tiesj Benoot, of Belgium, placed fourth. France’s David Gaudu completed the top five.
“Any time you can beat Valverde is a special time,” said Woods.
“I was fortunate to have a very strong team today. I maybe attacked a bit too much but I wanted to be offensive and I am glad it worked out.”
More results can be viewed below.
1. Michael Woods (Can) EF Education First 4:03:48
2. Alejandro Valverde (Spa) Movistar Team
3. Adam Yates (GBr) Mitchelton-Scott +0:00:05
4. Tiesj Benoot (Bel) Lotto Soudal +0:00:10
5. David Gaudu (Fra) Groupama-FDJ
6. Egan Bernal (Col) Team Ineos
7. Bauke Mollema (Ned) Trek-Segafredo +0:00:23
8. Jakob Fuglsang (Den) Astana Pro Team +0:00:33
9. Kevin Rivera Serrano (CRc) Androni Giocattoli-Sidermec
10. Enric Mas (Spa) Deceuninck-Quick-Step +0:00:38
87. Jaco Venter (RSA) Team Dimension Data +0:13:10