The Spanish rider is the race's defending champion, and produced an excellent performance against the clock to finish second to Victor Campenaerts (LottoNL-Jumbo) on the 12km individual time trial.
The Belgian was one of the early riders off on the hilly course, comfortably setting the fastest time when he crossed the finish, then having to endure a long wait to see if he could hold on for the stage win.
Fabio Felline (Trek-Segafredo) came within nine seconds of Campenaerts's time, but it was really down to the contenders for the overall crown to challenge for the stage win.
>>> Ruta del Sol 2017 TV guide
Alberto Contador (Trek-Segafredo), the race leader going into the stage, Thibaut Pinot (FDJ) yesterday's stage winner, and Valverde were the only other men to get within ten seconds of Campenaert's impressive time.
Valverde was the first of the trio to cross the line, coming home in a time of 14-56, only one second slower than the eventual stage winner.
Pinot was unable to challenge, finishing nine seconds slower than Campenaerts, meaning that Contador had to finish with a time of 15-00 to hold on to his race lead.
Despite a desperate sprint through the finishing funnel, Contador was unable to hit this time, coming home one second slower than necessary, placing himself one second behind Valverde to set up what should be an interesting final two stages.
Ruta del Sol, stage three: Lucena to Códoba (12km)
1. Victor Campenaerts (Bel) LottoNL-Jumbo, in 14-55
2. Alejandro Valverde (Esp) Movistar, at 1 sec
3. Alberto Contador (Esp) Trek-Segafredo, at 6 secs
4. Thibaut Pinot (Fra) FDJ, at 9 secs
5. Fabio Felline (Esp) Trek-Segafredo, at same time
6. Wout Poels (Ned) Team Sky, at 16 secs
7. Tim Wellens (Bel) Lotto-Soudal, at 20 secs
8. Vasil Kiryienka (Blr) Team Sky, 21 secs
9. Tobias Ludvigsson (Swe) FDJ, at 25 secs
10. Matthias Brändle (Aut) Trek-Segafredo, at 28 secs
General classification after stage three
1. Alejandro Valverde (Esp) Movistar, in 9-01-34
2. Alberto Contador (Esp) Trek-Segafredo, at 1 sec
3. Thibaut Pinot (Fra) FDJ, at 6 secs
4. Wout Poels (Ned) Team Sky, at 21 secs
5. Diego Rosa (Ita) Team Sky, at 45 secs
6. Mikel Landa (Esp) Team Sky, at 48 secs
7. Sebastien Reichenbach (Sui) FDJ, at 52 secs
8. Rigoberto Uran (Col) Cannondale-Drapac, at 1-29
9. Ondrej Cink (Cze) Bahrain-Merida, at 1-48
10. Javier Moreno (Esp) Bahrain-Merida, at 1-50
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1