The 26-year-old, who rides for the Movistar team, timed 51 minutes, 57.58 seconds to easily make up the 13-second gap between him and overnight leader Mathias Frank of Switzerland. "This has been as perfect a day as it could be," beamed Costa. "It was touching to see how many Portuguese fans turned out to encourage me and I have to thank my team-mates for riding so well throughout the race and setting up this great finale for me." Frank, who had led the race since the third stage, faded badly to finish fifth overall and was virtually inconsolable after he crossed the line. Dutchman Bauke Mollema finished second overall, over a minute in arrears of Costa, while Czech Republic rider Roman Kreuziger filled the final spot on the podium. Costa, whose most notable win prior to last year's Tour of Switzerland triumph was a stage win in the 2011 Tour de France, steadily built up the pace and was especially impressive on the second-half of the stage.