Britain’s Adam Yates narrowly missed out on a podium finish as Alejandro Valverde claimed his second Volta a Catalunya title.
Orica rider Yates, 24, finished fourth overall, one minute and 31 seconds behind Valverde, who won Sunday’s seventh and final stage.
Alberto Contador was second in the final classification, with Valverde’s Movistar team-mate Marc Soler completing an all-Spanish top three.
Chris Froome finished 30th.
Victory continues a superb start to the season for 36-year-old Valverde, who also beat Contador by a second to win the Tour of Andalusia and was victorious in the one day Tour of Murcia for a fifth time in February.
Valverde’s win is even more impressive given every Movistar rider was handed a one minute penalty for infringements by Jose Joaquin Rojas in Tuesday’s team time trial.
His secured the overall win with a perfectly-timed sprint finish to pip Colombian Jarlinson Pantano on Sunday.
Valverde had launched a late attack alongside Irishman Daniel Martin with three kilometres to go of the 138.7km race around Barcelona.
“Today I felt good after a really hard stage yesterday, everything was easier today because of the team,” said Valverde.
“I knew Daniel [Martin] would attack when he did as he always does that and I worked very hard to stay with him and in the end I won by a hair’s breadth.”
The Spaniard also won stages three and five of the event.
Meanwhile at the Gent-Wevelgem one-day classic, local favourite and Olympic champion Greg Van Avermaet of BMC won, holding off a challenge from fellow BelgianJen Keukeleire and the advancing world champion Peter Sagan.
Van Avermaet celebrated a hat-trick of victories in the Belgian cobbled classics this season having also won Omloop Het Nieuwsblad and E3 Harelbeke.
In the under-23 race, Britain’s Jacob Hennessy sprinted to victory.
Volta a Catalunya stage seven result:
1. Alejandro Valverde (Spa/Movistar) 3hrs 8mins 50secs
2. Jarlinson Pantano (Col/Trek) Same time
3. Arthur Vichot (Fra/FDJ)
4. Rafal Majka (Pol/BORA)
5. Daniel Martin (Ire/Quick-Step)
6. Aldemar Reyes (Col/Manzana Postobon)
7. Romain Bardet (Fra/AG2R)
8. Davide Formolo (Ita/Cannondale)
9. George Bennett (NZ/LottoNL)
10. Steven Kruijswijk (Ned/LottoNL)
1. Alejandro Valverde (Spa/Movistar) 25hrs 27mins 15secs
2. Alberto Contador (Spa/Trek) +1min 03secs
3. Marc Soler (Spa/Movistar) +1min 16secs
4. Adam Yates (GB/Orica) +1min 31secs
5. Tejay van Garderen (US/BMC Racing) +1min 34secs
6. Daniel Martin (Ire/Quick-Step) +2mins 29secs
7. Steven Kruijswijk (Ned/LottoNL) +2 mins 56secs
8. Carlos Verona (Spa/Orica) +3mins 00secs
9. George Bennett (NZ/LottoNL) +3mins 01sec
10. Romain Bardet (Fra/AG2R) +3mins 05secs