Australia's Simon Gerrans, winner of Monday's opening stage in the six-day World Tour race, and Michael Matthews led out their South African team-mate.
The 28-year-old from Johannesburg repeated his success from stage two in last year's race, finishing well clear of Francesco Gavazzi (Astana) and Angel Vicioso (Katusha).
Italian Gavazzi takes the overall lead from Gerrans after finishing fourth on stage one.
"It’s a fantastic win," said Impey. "It was a bit like last year, really. The whole team was involved with the result. Christian [Meier] and [Michael] Albasini did all of the early work. Wes [Wesley Sulzberger], Clarkey [Simon Clarke] and Pieter Weening did their bit in the final. From there, I had two of the fastest guys in the race as my lead out."
The 170km stage from Elgoibar was illuminated by a solo attack from Caja Rural's Amets Txurruka who attacked ahead of the opening category two climb of the day and built up a 4:20 lead after the second cat 2 ascent after 48.5km.
But his lead was not allowed to grow over five minutes as Gerrans' Orica-GreenEdge team-mates led the peloton.
Saxo-Tinkoff and Lampre joined the chase, with three category 3 climbs in the final 60km, as Jens Voigt (RadioShack-Leopard) and Adriano Malori (Lampre - ISD) bridged the gap to the local stage leader.
They joined Txurruka with 25km remaining before Malori went ahead on his own on the last climb, the Alto de Zaldiaran, which peaked 9.2km from the line.
The peloton swept up Txurruka and erstwhile attacker Voigt on the 2.9km ascent before there was a regrouping on the downhill run to the line and a large bunch came to the line together.
- Sports & Recreation
- Simon Gerrans
- Michael Matthews
- Francesco Gavazzi