Shrewsbury boosted their chances of avoiding relegation from League One with an away victory against MK Dons.
Tom Eaves' low shot gave Town the lead, before curling home a second to double their advantage inside 19 minutes.
Shrewsbury old boy Ryan Lowe pulled a goal back, bundling in after Antony Kay's flick-on, then made it 2-2 with a header from Shaun Williams' free-kick.
The visitors, who had lost their last three, won it when Kay volleyed past his own goalkeeper on 69 minutes.
After failing to win on their travels before Christmas, Graham Turner's Town have now won four away games since the turn of the year.
Graham Turner's side have gone seven points clear of trouble with eight games left, but 21-placed Oldham Athletic have three games in hand.
MK Dons slip a place to 13th, now 12 points adrift of the play-offs.
VIEW FROM THE DRESSING ROOM
MK Dons manager Karl Robinson told BBC Three Counties Radio:
"To be honest I'm lost for words. They've had two shots on target and scored three goals.
"I can't question any of the players' attitudes. I don't think anyone shirked responsibility.
"Yes, there were mistakes, which I could come out here and point fingers at. But the people who made mistakes have arguably been our better players over the course of the season.
"Anyone in the stadium who watched the game and saw the score at the end would be very, very shocked."
Shrewsbury Town manager Graham Turner told BBC Radio Shropshire:
"It was a terrific result. We gave it a real go and played with confidence. It was an all-round tremendous performance - everyone's put a good shift in."
"At 2-0 up we had chances to extend the lead, and even when we'd been pegged back to 2-2 we still created chances.
"Tom Eaves did ever so well for us. He's got an eye for goals, but he also put in a terrific amount for the team.
"It's been an amazing season in terms of going so long without winning away from home. And now, with the exception of the Walsall game, we've had four absolutely terrific results on the road. Coventry, Preston and Tranmere and now MK Dons are all sides capable of getting into the play-offs."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +4:56
The ball is crossed by Dean Lewington, Alan Smith takes a shot. Chris Weale makes a save. Inswinging corner taken by Dean Bowditch, clearance by Yado Mambo.90:00 +2:07 Substitution
Substitution Chris Porter joins the action as a substitute, replacing Tom Eaves.90:00 +1:24
Unfair challenge on David McAllister by Alan Smith results in a free kick. Darren Jones takes the free kick.89:27
The ball is delivered by Adam Chicksen, Dean Bowditch takes a shot. Save by Chris Weale.88:05
Shot from long distance by Stephen Gleeson misses to the right of the target.86:06
Shaun Williams restarts play with the free kick.86:06 Substitution
Substitution Paul Parry replaces Jon Taylor.86:06
Dean Lewington fouled by Tom Eaves, the ref awards a free kick.84:53
Free kick awarded for a foul by Antony Kay on Tom Eaves. Direct free kick taken by Matthew Richards.84:13
The official flags Ryan Lowe offside. Direct free kick taken by Chris Weale.81:49
Free kick taken by Antony Kay.81:49 Substitution
Substitution Alan Smith is brought on as a substitute for Chris Lines.81:49
The official flags Robert Purdie offside.81:11
The ball is swung over by Dean Bowditch, Yado Mambo makes a clearance.80:56
Centre by Chris Lines.79:57
Antony Kay fouled by Tom Eaves, the ref awards a free kick. Direct free kick taken by Shaun Williams.75:37 Substitution
Substitution Marvin Morgan leaves the field to be replaced by Robert Purdie.74:20
Shot by Antony Kay. Chris Weale makes a save.73:32
Inswinging corner taken left-footed by Shaun Williams, Joe Jacobson manages to make a clearance.
The ball is swung over by Dean Bowditch.72:14
Free kick awarded for a foul by Marvin Morgan on Shaun Williams. Antony Kay takes the direct free kick.71:33
Tom Eaves has an effort at goal from just outside the penalty box which goes wide of the left-hand post.71:09
Centre by Antony Kay.69:36
Dean Bowditch sends in a cross, save by Chris Weale.68:16
The assist for the goal came from Matthew Richards.68:16 Goal scored
Goal! - Antony Kay - MK Dons 2 - 3 Shrewsbury Antony Kay scores an own goal from 25 yards. Milton Keynes Dons 2-3 Shrewsbury.66:51
Inswinging corner taken from the left by-line by Dean Bowditch.64:22
The ball is delivered by Stephen Gleeson, clearance made by Yado Mambo.63:44
Foul by Joe Jacobson on Patrick Bamford, free kick awarded. Shaun Williams crosses the ball from the free kick left-footed from right channel, clearance by Marvin Morgan.62:28
Corner taken left-footed by Shaun Williams from the right by-line, Marvin Morgan manages to make a clearance.61:56
The assistant referee signals for offside against Tom Eaves. Shaun Williams takes the direct free kick.61:14
The ball is delivered by Antony Kay, Yado Mambo makes a clearance.60:36
Patrick Bamford takes a shot. Blocked by Yado Mambo.59:28
Stephen Gleeson takes a shot and went wide right of the net.54:52
Tom Eaves sends in a cross.52:47 Substitution
Substitution Izale McLeod leaves the field to be replaced by Patrick Bamford.51:36
Inswinging corner taken by Matthew Richards, save by Ian McLoughlin.50:37
Centre by Dean Bowditch, Izale McLeod produces a right-footed shot from the edge of the box and misses to the right of the goal.48:30
Inswinging corner taken by Shaun Williams from the right by-line played to the near post, clearance by Cameron Gayle.48:17
Adam Chicksen produces a cross, blocked by Joe Jacobson.46:18
Assist on the goal came from Shaun Williams.46:18 Goal scored
Goal! - Ryan Lowe - MK Dons 2 - 2 Shrewsbury Ryan Lowe scores a headed goal from close in. Milton Keynes Dons 2-2 Shrewsbury.45:31
Free kick awarded for an unfair challenge on Ryan Lowe by Yado Mambo. Shaun Williams takes the direct free kick.45:01
The second half kicks off.45:00 +4:41 Half time
Half Time The match has reached half-time.45:00 +4:00
The ball is crossed by Adam Chicksen, Stephen Gleeson takes a shot. Darren Jones gets a block in.45:00 +2:57
Short corner worked by Antony Kay.45:00 +0:15
Foul by Jon Taylor on Izale McLeod, free kick awarded. Ryan Lowe crosses the ball in from the free kick.43:38
Free kick awarded for a foul by Marvin Morgan on Shaun Williams. Antony Kay takes the direct free kick.42:18
The ball is swung over by Marvin Morgan, Luke Summerfield has an effort at goal from outside the box which goes wide left of the target.41:23
Ryan Lowe challenges Joe Jacobson unfairly and gives away a free kick. Chris Weale takes the direct free kick.41:01
Darren Potter delivers the ball.40:22
The ball is sent over by Ryan Lowe, Effort on goal by Izale McLeod from 18 yards. Chris Weale makes a save.38:50
Effort on goal by Matthew Richards from just inside the area clears the bar.38:06
Ryan Lowe takes a shot. Save made by Chris Weale.36:54 Substitution
Substitution Stephen Gleeson is brought on as a substitute for Mathias Doumbe.36:10
Mathias Doumbe takes a shot.35:13
Jon Taylor takes a shot. Save by Ian McLoughlin.34:56
A cross is delivered by Ryan Lowe, Darren Jones gets a block in.33:58
The assistant referee flags for offside against Marvin Morgan. Shaun Williams takes the free kick.31:28
Dean Bowditch fouled by Joe Jacobson, the ref awards a free kick. Shaun Williams produces a cross, Mathias Doumbe takes a shot. Save by Chris Weale.29:21
The ball is swung over by Mathias Doumbe, save by Chris Weale.28:26
Dean Lewington fouled by Tom Eaves, the ref awards a free kick. Free kick taken by Shaun Williams.28:11 Booking
Booking Tom Eaves booked for unsporting behaviour.26:12
The assist for the goal came from Dean Bowditch.26:12 Goal scored
Goal! - Ryan Lowe - MK Dons 1 - 2 Shrewsbury Goal scored by Ryan Lowe from inside the box to the bottom left corner of the goal. Milton Keynes Dons 1-2 Shrewsbury.25:25
Free kick crossed by Shaun Williams, save made by Chris Weale. Dean Bowditch takes a inswinging corner to the near post,25:25 Booking
Booking Joe Jacobson is shown a yellow card for unsporting behaviour.25:13
Joe Jacobson gives away a free kick for an unfair challenge on Mathias Doumbe.22:47
David McAllister has an effort at goal from outside the area missing to the wide right of the goal.22:13
The ball is crossed by Dean Bowditch, save by Chris Weale.21:38
Marvin Morgan gives away a free kick for an unfair challenge on Shaun Williams. Ian McLoughlin takes the direct free kick.21:03
Izale McLeod takes a shot. Darren Jones gets a block in.20:30
The ball is crossed by Adam Chicksen, Joe Jacobson makes a clearance.18:04
The assist for the goal came from Marvin Morgan.18:04 Goal scored
Goal! - Tom Eaves - MK Dons 0 - 2 Shrewsbury Tom Eaves gets on the score sheet with a goal from just outside the box to the bottom left corner of the goal. Milton Keynes Dons 0-2 Shrewsbury.17:13
Mathias Doumbe sends in a cross, David McAllister makes a clearance.16:44
David McAllister concedes a free kick for a foul on Ryan Lowe. Chris Lines takes the direct free kick.15:21
Assist on the goal came from Joe Jacobson.15:21 Goal scored
Goal! - Tom Eaves - MK Dons 0 - 1 Shrewsbury Tom Eaves fires in a goal from just outside the penalty area to the bottom right corner of the goal. Milton Keynes Dons 0-1 Shrewsbury.13:41
A cross is delivered by Cameron Gayle.13:21
Chris Lines produces a cross, Chris Weale makes a save.12:50
Dean Bowditch sends in a cross, Yado Mambo manages to make a clearance.11:56
The ball is crossed by Jon Taylor, clearance by Shaun Williams.11:36
The ball is delivered by Adam Chicksen, Yado Mambo makes a clearance.11:05
The ball is sent over by Chris Lines, Izale McLeod takes a shot. Chris Weale makes a save.9:47
The assistant referee signals for offside against Izale McLeod. Direct free kick taken by Chris Weale.8:07
Luke Summerfield takes a shot.6:49
Free kick awarded for an unfair challenge on David McAllister by Ryan Lowe. Chris Weale takes the free kick.5:35
Adam Chicksen takes a shot. Blocked by Cameron Gayle.3:52
Effort on goal by Adam Chicksen from 35 yards cleared the net.2:53
Centre by Dean Bowditch.2:27
The official flags Tom Eaves offside. Direct free kick taken by Shaun Williams.0:29
Free kick awarded for an unfair challenge on Chris Lines by David McAllister. Antony Kay takes the direct free kick.0:00
The match gets underway.
Live data and text provided by our data suppliers