Marcel Kittel celebrated his 26th birthday with victory on stage three of the Giro d'Italia in Dublin.
Germany's Kittel, racing for Giant Shimano, won in a sprint finish ahead of England's Ben Swift of Team Sky and Italy's Elia Viviani (Cannondale) for a second successive stage triumph.
Michael Matthews of Orica GreenEdge retained the pink jersey with an eight-second overall lead over Alessandro Petacchi of the Omega Pharma-QuickStep team.
Isolated from his team-mates and lead-out man Tom Veelers in a frantic finale of the 187-kilometre route from Armagh, Kittel latched on to the wheel of Swift, who was being led out by Norwegian Edvald Boasson Hagen, before powering for the line.
"I came here with the goal to win the first (road) stage and after that the pressure is off slightly but today was not easy and it was really close at the finish," Kittel said on teamgiantshimano.com.
"The road got really narrow with two kilometres to go and we knew that we had to be in front here and we were but I got sandwiched and it was a choice of letting go of Tom's wheel or probably crashing.
"This put me out of position slightly and a bit far back but I was never going to give up on the chance to win a stage.
"When I could see the finish line after the final corner I gave it everything and it was really close but I just concentrated on the line and managed to come past everyone.
"It is extra special to win on your birthday and I must thank my team-mates for the work they did for me again today.
"We can have a day of down time now before targeting the next flat stage in Italy."
There was a split behind the first 32 riders, creating an 11-second gap, with Irish hope Nicolas Roche (Tinkoff-Saxo) finishing among the general classification contenders after working his way back to the group following a puncture with 6km to go.
Roche now sits in 27th place overall, 37 seconds behind, while Donegal's Philip Deignan of Team Sky is a further 12 seconds back in 40th.
The race transfers to southern Italy with a rest day on Monday before resuming with Tuesday's 112km route from Giovinazzo to Bari.