Hamilton Accies knocked Dunfermline out of the Scottish Cup with a fifth-round win at East End Park.
After a scoreless first half, Steven May fired the visitors into a 51st-minute lead.
And Jonathon Routledge doubled Accies' lead 10 minutes later, netting from the edge of the penalty area.
Dunfermline's Andy Kirk was denied by the post and the Pars were unable to mount a comeback.
The visitors, 13 points behind their hosts in the Division One standings, had the better chances throughout and were unlucky not to be ahead in the first half after Routledge and May each missed glorious close-range chances.
However, the duo were on hand to put Hamilton on course for the win in the second half.
May opened the scoring when he fired a wonderful strike into the net from just outside the box five minutes after the restart, before Routledge's composed shot from inside the box found the top corner on the hour mark.
Darian Mackinnon had two attempts at the Dunfermline goal blocked, while the hosts had a Stephen Husband shot as their only real effort.
Dunfermline manager Jim Jefferies: "It was a very tight match. I thought the first goal was always going to be crucial. He [goalscorer May] is one we picked out in the team talk. You can't stand off him. We are to blame for backing off and allowing him to strike.
"There was plenty of effort but it's just the quality, our play around the last third [of the pitch].
"How many chances did we have today to put the ball in but we wanted to beat him again and then we end up with nothing?
"There weren't enough challenges, not enough type of balls to go and attack.
"They were a bit hungrier than us to win and that was the disappointing thing."
Hamilton Accies manager Billy Reid: "First-half, it was fairly even but we had an outstanding chance with Jon Routledge - he's missed an open goal from three yards!
"I thought we started the second half really well and the goals were scored were terrific.
"Over 90 minutes we were solid as a unit and deserved the win.
"We limited chances for them and we were smashing on the break. We pretty much controlled the game."
- 01 Gallacher
- 02 Ross Millen (Thomson - 69' Booked )
- 03 McMillan
- 04 Dowie
- 05 Morris
- 06 Byrne (Whittle - 55' )
- 07 Cardle
- 08 Husband
- 09 Wallace (Dargo - 82' )
- 11 Falkingham
- 10 Kirk
- 20 Hrivnak
- 15 Potter
- 14 Thomson
- 16 Whittle
- 12 Dargo
- 01 Cuthbert
- 02 Gordon
- 03 Hendrie
- 04 Canning
- 05 Page
- 06 Routledge
- 07 Crawford
- 10 Neil
- 08 Mackinnon
- 09 May (Ryan - 87' )
- 11 Longridge
- 19 Christie
- 12 Michael Devlin
- 14 Fisher
- 15 Gillepsie
- 16 Ryan
Live Text Commentary
Full Time The referee ends the match.90:00 +1:33
Andrew Ryan takes a shot. Save made by Paul Gallacher.89:53
Ryan Thomson fouled by Darian Mackinnon, the ref awards a free kick. Paul Gallacher restarts play with the free kick.89:11
Corner from the right by-line taken by Joseph Cardle, Ryan Thomson takes a shot. Save by Kevin Cuthbert.86:16 Substitution
Substitution Andrew Ryan comes on in place of Steven May.84:30
Craig Dargo takes a shot. Martin Canning gets a block in.83:57
Corner taken right-footed by Joseph Cardle from the right by-line, clearance made by Jonathan Page.83:28
Outswinging corner taken right-footed by Joseph Cardle, Callum Morris takes a shot. Blocked by Martin Canning.81:12 Substitution
Substitution Craig Dargo joins the action as a substitute, replacing Ryan Wallace.79:09
Joseph Cardle decides to take a short corner.78:35
Unfair challenge on Ryan Thomson by Jonathan Page results in a free kick. Ryan Wallace takes the free kick.77:34 Booking
Booking Ryan Thomson receives a yellow card.77:07
Alister Crawford takes a shot. Comfortable save by Paul Gallacher.72:21
Ryan Wallace concedes a free kick for a foul on Stephen Hendrie. Indirect free kick taken by Jonathan Page.72:00
Stephen Husband takes a shot. Save made by Kevin Cuthbert.69:53
Corner taken right-footed by Ryan Wallace to the near post.69:37
Alex Whittle takes a shot. Ziggy Gordon gets a block in.69:26
Effort from close in by Andrew Kirk hits the post.68:32 Substitution
Substitution (Dunfermline) makes a substitution, with Ryan Thomson coming on for Ross Millen.65:10
Darian Mackinnon has an effort at goal from just inside the box that misses to the right of the target.
Darian Mackinnon takes a shot. Paul Gallacher makes a save.63:08
Joseph Cardle is flagged offside by the assistant referee. Kevin Cuthbert takes the indirect free kick.60:27
Darian Mackinnon provided the assist for the goal.60:27 Goal scored
Goal! - Jonathon Routledge - Dunf'mline 0 - 2 Hamilton Jonathon Routledge finds the back of the net with a goal from just outside the penalty box to the top right corner of the goal. Dunfermline 0-2 Hamilton.59:41
Joshua Falkingham gives away a free kick for an unfair challenge on Alexander Neil. Alister Crawford restarts play with the free kick.59:05
Andrew Kirk has a headed effort at goal from close in which goes wide left of the goal.54:13 Substitution
Substitution (Dunfermline) makes a substitution, with Alex Whittle coming on for Shaun Byrne.52:37
Foul by Steven May on Andrew Dowie, free kick awarded. Indirect free kick taken by Paul Gallacher.50:06 Goal scored
Goal! - Steven May - Dunf'mline 0 - 1 Hamilton Steven May grabs a goal from outside the area to the top left corner of the goal. Dunfermline 0-1 Hamilton.47:28
Ryan Wallace challenges Jonathan Page unfairly and gives away a free kick. Indirect free kick taken by Kevin Cuthbert.45:01
The referee blows his whistle to start the second half.45:00 +0:04 Half time
Half Time The referee blows for half time.43:16
Unfair challenge on Alister Crawford by Andrew Kirk results in a free kick. Free kick crossed right-footed by Alister Crawford from left channel.42:33
Free kick awarded for an unfair challenge on Alister Crawford by Stephen Husband. Free kick crossed right-footed by Alister Crawford, Ross Millen makes a clearance.39:41
Louis Longridge gives away a free kick for an unfair challenge on Andrew Kirk. Free kick taken by Paul Gallacher.39:24
Free kick awarded for a foul by Joseph Cardle on Ziggy Gordon. Martin Canning takes the direct free kick.37:32
Corner taken right-footed by Ross Millen, Andrew Dowie takes a shot.36:49
Outswinging corner taken by Alister Crawford from the right by-line played to the near post, Shaun Byrne makes a clearance.36:37
Steven May takes a shot. Blocked by Callum Morris.32:16
Corner from the right by-line taken by Ross Millen, Headed effort from inside the area by Stephen Husband misses to the right of the goal.31:03
Steven May is caught offside. Free kick taken by Paul Gallacher.29:05
Steven May produces a right-footed shot from deep inside the area which goes wide of the left-hand post.26:31
Louis Longridge concedes a free kick for a foul on Joshua Falkingham. Paul Gallacher takes the free kick.24:44
Jonathon Routledge takes a shot. Callum Morris makes a clearance.22:35
Jordan McMillan fouled by Louis Longridge, the ref awards a free kick. Paul Gallacher restarts play with the free kick.22:07
The assistant referee signals for offside against Ryan Wallace. Free kick taken by Kevin Cuthbert.21:34
Unfair challenge on Andrew Dowie by Darian Mackinnon results in a free kick. Paul Gallacher takes the free kick.20:10
The assistant referee signals for offside against Louis Longridge. Paul Gallacher takes the free kick.19:37
Ryan Wallace takes a shot. Save made by Kevin Cuthbert.18:03
Corner taken right-footed by Ross Millen, Headed effort from deep inside the penalty area by Andrew Dowie misses to the left of the goal.14:52
Unfair challenge on Alexander Neil by Joshua Falkingham results in a free kick. Jonathan Page takes the indirect free kick.12:41
The referee blows for offside against Alister Crawford. Free kick taken by Paul Gallacher.7:39
Joseph Cardle takes a shot. Ziggy Gordon gets a block in.2:53
Foul by Jonathon Routledge on Ryan Wallace, free kick awarded. Stephen Husband restarts play with the free kick.2:23
Free kick awarded for a foul by Darian Mackinnon on Joshua Falkingham. Stephen Husband restarts play with the free kick.0:19
Ryan Wallace is ruled offside. Indirect free kick taken by Kevin Cuthbert.0:00
The referee gets the game started.
Live data and text provided by our data suppliers