The Cervelo rider triumphed in three hours 36 minutes 20 seconds ahead of Italian Daniele Bennati (Liquigas), who went too early, and Slovenia's Grega Bole (Lampre).
"I hung on and hung on close to the front end of the bunch for at least two thirds of the climb," the Norwegian national champion said.
"I dropped back around 25 places in the last part but the hard work had been done. When I saw Bennati had got over the climb, too, I thought: 'he's the man to watch in the finale.'
"But it turned out I had the better legs for the sprint, too."
Philippe Gilbert of Belgium remained overall leader after finishing sixth on the stage.
For the opening 130km of the 151km route three breakaway riders, Freddy Bichot (Bbox Bouygues Telecom), Markus Eichler (Milram) and Juan Javier Estrada Ruiz set the pace.
With the gap reaching almost 10 minutes with still 115km remaining, the smart money was always on them being swallowed up way before the line.
They duly were on the Category 2 Alto de la Cresta del Gallo, the back end of which is situated 10km from the finish - the biggest climb on the stage.
Once a determined Bichot had been passed Vladimir Karpets of Katusha took to the front, maintaining his narrow lead as he crossed the summit.
Red leader's jersey Gilbert was with him then streaked away with Filippo Pozzato, but the peloton led by Hushovd ensured they did not get away.
Astana's Dimitriy Fofonov then Carlos Barredo had a go as the descent came to an end and the pack prepared for a final effort which almost saw Gilbert triumph, but 400 yards proved a long way and Hushovd nipped ahead before the line.
The Vuelta finishes in Madrid on September 19.