Den snaut 180 kilometer lange etappen var helt flat lenge, men ble avsluttet med en fire kilometer lang stigning.
Det var opp den siste kategori 3-stigningen at Horner benyttet sjansen.
Det var et samlet felt som kom inn i den siste bakken etter at en gruppe på fem ryttere, som hadde ligget i teten det meste av etappen, ble innkjørt 20 kilometer før mål.
Juan Antonio Flecha rykket først, men italieneren Ivan Santamorita kontret.
Det så ut som om han skulle lykkes med sitt frekke rykk, men så satte Horner fart på pedalene, og 41-åringen klarte å komme alene til mål, tre sekunder foran forfølgerne.
Favorittene Alejandro Valverde og Joaquin Rodriguez tok annen- og tredjeplassen på etappen.
Edvald Boasson Hagen kom til mål 1.48 minutt bak teten (73. plass).
Han kjører fortsatt for å finne formen etter at han måtte ta en pause med brudd i skulderen etter den 12. Tour de France-etappen i juli.
- Les også:
- Les også: