Match ends, Shrewsbury Town 1, Sheffield United 2.
Sheffield United kept their slim League One play-off hopes alive by beating Shrewsbury Town, who are just two points above the relegation zone.
Blades goalkeeper George Long saved Kyle Vassell's first-half spot kick.
Billy Sharp then put the visitors ahead with a low shot, his 20th goal of the season, only for Abu Ogogo to level from Sullay Kaikai's cross.
But Che Adams won it for United, who are four points outside the top six, firing in low from the edge of the box.
Shrewsbury are now without a win in seven games, during which they have picked up just four points out of a possible 21.
Shrewsbury manager Micky Mellon told BBC Radio Shropshire:
"If I'm absolutely honest, which I always try to be, I thought the only team that was going to score was us because we looked like we had the momentum.
"But then a bit of slack defending from a throw-in and we got punished. It was hugely frustrating.
"I couldn't fault much of the performance. We deserved much more than we got, but a bit of loose defending on two occasions cost us."
- 24HendrySubstituted forWhalleyat 79'minutes
- 7VassellSubstituted forManganat 65'minutes
- 19McEveleyBooked at 8mins
- 7FlynnSubstituted forCuvelierat 85'minutes
- 29AdamsSubstituted forWoolfordat 90+8'minutes
- David Webb
- Shots on Target
Second Half ends, Shrewsbury Town 1, Sheffield United 2.
Substitution, Sheffield United. Martyn Woolford replaces Che Adams.
Attempt missed. Sullay Kaikai (Shrewsbury Town) left footed shot from outside the box is close, but misses to the right.
Attempt blocked. Sullay Kaikai (Shrewsbury Town) right footed shot from outside the box is blocked.
Sullay Kaikai (Shrewsbury Town) wins a free kick in the attacking half.
Foul by Chris Basham (Sheffield United).
Jack Grimmer (Shrewsbury Town) wins a free kick in the defensive half.
Foul by Billy Sharp (Sheffield United).
Mat Sadler (Shrewsbury Town) wins a free kick in the defensive half.
Foul by Paul Coutts (Sheffield United).
Substitution, Sheffield United. Florent Cuvelier replaces Ryan Flynn.
Corner, Shrewsbury Town. Conceded by Alex Baptiste.
Attempt blocked. Shaun Whalley (Shrewsbury Town) left footed shot from outside the box is blocked.
Attempt missed. Jean-Louis Akpa-Akpro (Shrewsbury Town) header from the centre of the box is close, but misses to the left.
Abu Ogogo (Shrewsbury Town) wins a free kick on the right wing.
Foul by Che Adams (Sheffield United).
Substitution, Shrewsbury Town. Shaun Whalley replaces Jack Hendry.
Attempt missed. Chris Basham (Sheffield United) header from a difficult angle on the right is close, but misses the top right corner.
Attempt saved. Ryan Flynn (Sheffield United) right footed shot from outside the box is saved in the centre of the goal.