Dean Bowditch scored a 90th-minute equaliser for promotion-chasing MK Dons to deny Shrewsbury victory.
Angelo Balanta slotted in from 12 yards to fire the Dons ahead just before the break.
Town then struck twice, Marvin Morgan setting up Luke Rodgers to level with his first goal since returning to the club, before Mark Wright curled home.
But Dons rescued a late point when Bowditch fired in from the edge of the box.
The visitors had not conceded a league goal since 23 October in a four-match winning run.
But they were given a real test by a Town side visibly lifted by Saturday's first win in seven matches at home to Crewe.
After creating the majority of the first-half chances, Rodgers, Luke Summerfield, Jon Taylor and Morgan all going close, Town were stung by the Dons' opener on the stroke of half-time.
Bowditch delivered a square ball in from the right and the unmarked Balanta sidefooted in from 12 yards.
Shrewsbury had been indebted to one first-half save from Chris Weale, whose alertness denied Luke Chadwick after he had been slipped in by Darren Potter.
But, if Graham Turner's team had been unlucky to trail at the break, they truly managed to up the gears after the restart.
After Rodgers had gone so close to connecting to one dangerous Morgan cross, he then finally benefited from one of his strike partner's assists.
On 65 minutes Morgan's persistence paid off with a forceful run that took him round visiting keeper David Martin and he unselfishly pulled the ball back from the byeline for Rodgers to hammer into the roof of the net.
And, on 72 minutes, the game was turned on its head when, after referee Darren Drysdale had played a good advantage after a foul on Rodgers, Richards found Wright, who made space for himself before curling home a stunning right-footer against his former club.
But the Dons, who left Town old boy Ryan Lowe on the bench, had the last word when Bowditch stretched the visitors' unbeaten run to seven matches.
VIEWS FROM THE DRESSING ROOM
Shrewsbury Town manager Graham Turner told BBC Radio Shropshire:
"It's an absolute travesty that we haven't taken the three points, but you can at least see the confidence starting to come back into the team.
"Marvin Morgan and Luke Rodgers have done well together again and could be the basis for us to start getting out of trouble.
"Mark Wright's goal was the sort of thing we know he can do and he's capable of contributing more."
MK Dons manager Karl Robinson told BBC Three Counties:
"I'm relieved, to be totally honest. We were steamrollered for 60 minutes of that game. They deserved all three points and we didn't deserve anything.
"Their two forwards, Rodgers and the big boy, worked their socks off. To do that for 90 minutes you have to take your hat off to them and I went and shook both their hands at the end.
"In the end, we rescued it from the jaws of defeat with Dean Bowditch's goal. But he's capable of that. He's a tremendously gifted footballer. He set one up and scored one."
- 01 Weale
- 02 Grandison
- 03 Jacobson
- 05 Jones
- 28 Bennett
- 04 Summerfield
- 07 Wright
- 08 Richards
- 11 Taylor
- 10 Morgan
- 29 Rodgers
- 25 Anyon
- 18 Goldson
- 06 Purdie
- 14 Hall
- 20 Wildig
- 26 Helan
- 16 Doble
Milton Keynes Dons
- 01 Martin
- 02 Otsemobor
- 03 Lewington (Chicksen - 58' )
- 24 Kay
- 06 Williams
- 07 Gleeson
- 08 Potter
- 11 Smith Booked
- 26 Chadwick (MacDonald - 74' Booked )
- 09 Bowditch
- 29 Balanta (Powell - 58' )
- 16 McLoughlin
- 04 Doumbe
- 12 Chicksen
- 17 Powell
- 10 MacDonald
- 14 Lowe
- 28 Sekajja