Captain Matt Richards scored an injury-time penalty as Shrewsbury won at Preston in League One.
Stuart Beavon, who had earlier put a volley over the bar, put the hosts ahead with a shot from 30 yards.
Substitute Paul Parry set up Jon Taylor to level for Shrewsbury from just inside the area.
Graham Cummins went close for Preston before Richards netted from the spot after Marvin Morgan was brought down in the area by Ben Davies.
VIEW FROM THE DRESSING ROOM
Preston manager Graham Westley told BBC Radio Lancashire:
"The 90 minutes produced 18 attempts at their goal and six at ours.
"They were a couple of counter-attack goals where we've been the masters of our own downfall.
"For large periods of the game, we were the better side. You won't seen too many games where a side is as dominant as we were and will come way with nothing to show for their efforts."