Aberdeen came from behind at Kilmarnock to earn their first back-to-back Scottish Premier League wins this term.
Ryan O'Leary put the home side ahead inside five minutes, converting from 15 yards with his knee.
Aberdeen spent much of the first half searching for an equaliser, but they were level a minute into the second half, Gavin Rae steering home.
Niall McGinn put the Dons ahead, heading in a Ryan Fraser cross before Scott Vernon added a third late on.
Craig Brown's side are now third in the league, behind second-placed Celtic on goal difference.
Kilmarnock looked lively early on, and James Dayton jinked past two defenders before pulling the ball back to Gary Harkins, but his shot was blocked.
Harkins, though, was involved in the opening goal, his initial effort parried by Aberdeen goalkeeper Jamie Langfield, but the rebound was guided over him and into the net by the knee of O'Leary.
Killie continued to press, but the next chances fell to the visitors.
A Fraser shot appeared to strike Liam Kelly's hand but referee Steven McLean was unmoved.
Then, seconds later, the same player crossed for Vernon to head straight at home goalkeeper Kyle Letheren.
Fraser was again involved as he and McGinn combined to create a chance for Gavin Rae, but his effort trickled wide of the near post.
The 25-year-old Northern Irishman then found space inside the box but there was no-one on hand to tap the ball in across goal.
Rae drew the away side level within a minute of the re-start after being put through on goal.
The hosts should have been back in front shortly after, but Harkins shot weakly at Langfield in the away goal.
James Dayton was next, his right-footed drive was beaten away by Langfield as the contest heated up.
Wingers Fraser and McGinn had looked dangerous in the first half and they delivered in the second.
The Aberdeen-born-winger was released down the left and, while his cross was left by the Kilmarnock defence, McGinn appeared from nowhere to head Aberdeen in front.
O'Leary's centre-half partner Michael Nelson almost drew the game level with a stunning volley from the edge of the box but it flew just wide.
The game continued to swing from end-to-end and McGinn had an effort tipped over the bar by Letheren.
The 18-year-old Fraser continued to torment the home defence and his cross was headed just over by Vernon as Craig Brown's side looked to extend their aadvantage.
Aberdeen looked the more likely to add to their tally and Johnny Hayes, a replacement for the excellent Fraser, dropped a ball into the box but Vernon again was off target with his effort.
The visitors did find a third late on, however.
Vernon and Hayes had a neat interchange on the edge of the box before the Englishman curled home a beautiful finish past Letheren to move Aberdeen up to third place.
- 17 Letheren
- 04 Fowler
- 05 O'Leary Booked
- 06 Nelson
- 23 McKeown
- 07 Racchi (Johnston - 68' Booked )
- 08 Kelly Booked
- 10 Dayton (Gross - 89' )
- 11 Harkins (McKenzie - 77' )
- 29 Pascali
- 12 Sheridan
- 53 Jaakkola
- 26 Pursehouse
- 18 Johnson
- 09 Gross
- 15 Perez
- 24 McKenzie
- 30 Johnston
- 01 Langfield
- 02 Jack Booked
- 04 Anderson
- 06 Considine
- 22 Reynolds
- 05 Rae (Magennis - 79' Booked )
- 10 McGinn (Brown - 90' )
- 16 Osbourne
- 18 Hughes Booked
- 20 Fraser (Hayes - 77' )
- 09 Vernon
- 32 Brown
- 03 Robertson
- 07 Clark
- 11 Hayes
- 24 Brown
- 21 Magennis
- 38 Smith
Live Text Commentary
Full Time The referee ends the match.90:00 +1:20 Substitution
Substitution Jordon Brown replaces Niall McGinn.90:00 +0:57
Chris Johnston takes a shot. Save made by Jamie Langfield.89:53
Johnny Hayes provided the assist for the goal.89:53 Goal scored
Goal! - Scott Vernon - Kilmarnock 1 - 3 Aberdeen A goal is scored by Scott Vernon from deep inside the penalty box to the bottom right corner of the goal. Kilmarnock 1-3 Aberdeen.89:19
Unfair challenge on Johnny Hayes by Rory McKenzie results in a free kick. Andrew Considine takes the direct free kick.88:03 Substitution
Substitution James Dayton goes off and William Gros comes on.86:00
Rory McKenzie produces a shot on goal direct from the free kick.86:00 Booking
Booking Josh Magennis is cautioned.85:42
Josh Magennis challenges Rory McKenzie unfairly and gives away a free kick.84:43
Free kick awarded for an unfair challenge on Chris Johnston by Mark Reynolds. Free kick crossed left-footed by James Dayton from right channel, save by Ryan Jack.83:55
Shot from inside the area by Scott Vernon clears the bar.83:10
Liam Kelly gives away a free kick for an unfair challenge on Niall McGinn. Jamie Langfield restarts play with the free kick.81:56
Free kick taken by Mark Reynolds.81:56 Booking
Booking The referee shows Chris Johnston a yellow card.81:46
Chris Johnston challenges Johnny Hayes unfairly and gives away a free kick.78:46 Substitution
Substitution Josh Magennis is brought on as a substitute for Gavin Rae.77:29
Scott Vernon is caught offside. Michael Nelson takes the direct free kick.76:50 Substitution
Substitution Rory McKenzie is brought on as a substitute for Gary Harkins.76:28 Substitution
Substitution Johnny Hayes joins the action as a substitute, replacing Ryan Fraser.
Effort from 18 yards by Chris Johnston. Save by Jamie Langfield.75:07
Outswinging corner taken from the left by-line by Liam Kelly.73:16
Header from deep inside the penalty area by Scott Vernon goes harmlessly over the crossbar.71:25
Andrew Considine has an effort direct from the free kick.71:25 Booking
Booking Liam Kelly receives a caution for unsporting behaviour.70:52
Unfair challenge on Ryan Fraser by Liam Kelly results in a free kick.68:28
Free kick awarded for a foul by Manuel Pascali on Stephen Hughes. Direct strike on goal from the free kick comes in from Ryan Fraser.66:34
Direct free kick taken by Kyle Letheren.66:34 Substitution
Substitution Chris Johnston comes on in place of Danny Racchi.66:34
Outswinging corner taken right-footed by Ryan Fraser, Foul by Isaac Osbourne on Michael Nelson, free kick awarded.66:12
Unfair challenge on Scott Vernon by Ryan O'Leary results in a free kick. Isaac Osbourne restarts play with the free kick.64:14
Cillian Sheridan handles the ball and concedes a free kick. Jamie Langfield takes the free kick.62:59
Unfair challenge on Manuel Pascali by Gavin Rae results in a free kick. Manuel Pascali takes the direct free kick.60:54
Short corner taken by Ryan Fraser from the left by-line.60:00
Effort on goal by Ryan O'Leary from deep inside the penalty area misses to the right of the target.59:14
Isaac Osbourne challenges Cillian Sheridan unfairly and gives away a free kick. Michael Nelson takes the direct free kick.57:52
The referee blows for offside. James Fowler restarts play with the free kick.56:45
Unfair challenge on Manuel Pascali by Gavin Rae results in a free kick. Liam Kelly takes the direct free kick.54:18
Ryan Fraser provided the assist for the goal.54:18 Goal scored
Goal! - Niall McGinn - Kilmarnock 1 - 2 Aberdeen Niall McGinn grabs a headed goal from inside the penalty box. Kilmarnock 1-2 Aberdeen.53:56
Manuel Pascali takes a shot. Jamie Langfield makes a save.51:49
Gary Harkins shoots direct from the free kick, save made by Jamie Langfield.51:49 Booking
Booking Ryan Jack receives a yellow card for unsporting behaviour.51:35
Ryan Jack gives away a free kick for an unfair challenge on Cillian Sheridan.50:10
The offside flag is raised against Scott Vernon. Kyle Letheren takes the free kick.47:51
James Dayton takes a shot. Save by Jamie Langfield.46:44
James Dayton fouled by Isaac Osbourne, the ref awards a free kick. Rory McKeown takes the direct free kick.45:17 Goal scored
Goal! - Gavin Rae - Kilmarnock 1 - 1 Aberdeen Gavin Rae scores a goal from inside the area to the bottom right corner of the goal. Kilmarnock 1-1 Aberdeen.45:01
The game restarts for the second half.45:00 +1:06 Half time
Half Time The half-time whistle blows.44:56
Shot from just outside the box by Stephen Hughes goes over the bar.42:31
Free kick taken by Michael Nelson.42:31 Booking
Booking Stephen Hughes is cautioned by the ref for unsporting behaviour.42:25
Rory McKeown fouled by Stephen Hughes, the ref awards a free kick.37:20
Effort from the edge of the box by Gavin Rae goes wide of the right-hand upright.35:48
Free kick awarded for an unfair challenge on Stephen Hughes by Manuel Pascali. Stephen Hughes takes the direct free kick.33:41
Manuel Pascali concedes a free kick for a foul on Isaac Osbourne. Stephen Hughes takes the direct free kick.30:33
Inswinging corner taken right-footed by Ryan Fraser, free kick awarded for an unfair challenge on Kyle Letheren by Russell Anderson. Kyle Letheren takes the direct free kick.28:12
Andrew Considine challenges Danny Racchi unfairly and gives away a free kick. Michael Nelson takes the free kick.27:08
Shot from just outside the area by Niall McGinn misses to the left of the target.25:35
Foul by Liam Kelly on Russell Anderson, free kick awarded. Stephen Hughes takes the direct free kick.23:13
Unfair challenge on Liam Kelly by Stephen Hughes results in a free kick. Manuel Pascali takes the direct free kick.20:44
Shot comes in from Ryan Fraser from the free kick, save made by Kyle Letheren.20:44 Booking
Booking Ryan O'Leary shown a yellow card.20:28
Free kick awarded for an unfair challenge on Ryan Fraser by Ryan O'Leary.18:55
Free kick awarded for a foul by Liam Kelly on Isaac Osbourne. The free kick is swung in right-footed by Stephen Hughes.16:47
Inswinging corner taken by Ryan Fraser from the left by-line, save by Kyle Letheren.15:32
Isaac Osbourne gives away a free kick for an unfair challenge on Gary Harkins. Danny Racchi restarts play with the free kick.13:10
Free kick awarded for an unfair challenge on James Dayton by Stephen Hughes. Free kick taken by Danny Racchi.11:30
The referee blows for offside against Cillian Sheridan. Indirect free kick taken by Mark Reynolds.10:28
Ryan Jack gives away a free kick for an unfair challenge on James Dayton. Free kick taken by Michael Nelson.9:45
Scott Vernon takes a shot. Save made by Kyle Letheren.8:31
Outswinging corner taken left-footed by James Dayton, Michael Nelson gives away a free kick for an unfair challenge on Gavin Rae. Jamie Langfield restarts play with the free kick.6:11
Scott Vernon concedes a free kick for a foul on James Dayton. Direct free kick taken by Michael Nelson.5:29
Stephen Hughes challenges James Dayton unfairly and gives away a free kick. Gary Harkins takes the free kick.5:04
Free kick awarded for an unfair challenge on Danny Racchi by Andrew Considine. Danny Racchi takes the free kick.2:20 Goal scored
Goal! - Ryan O'Leary - Kilmarnock 1 - 0 Aberdeen Ryan O'Leary finds the back of the net with a goal from inside the penalty area to the top right corner of the goal. Kilmarnock 1-0 Aberdeen.1:43
Inswinging corner taken by James Dayton.0:47
Niall McGinn takes a shot from just inside the penalty box which clears the bar.0:00
The match gets underway.
Live data and text provided by our data suppliers