Luton Town beat Bristol City 3-2 as they came from 2-0 down to beat the Robins at Ashton Gate.
Nahki Wells and Adam Nagy had struck two goals in seven minutes to put an out-of-form home side in front.
But Luton soon roared back. James Collins brought the away side to within a single goal, before Elijah Adebayo struck to equalise.
Harry Cornick then grabbed what turned out to be the winner with just over 15 minutes to play.
Bristol City would have a goal disallowed in the latter stages, as the Hatters ultimately saw the result through.
Victory at Ashton Gate means Luton are now unbeaten in four games. The team sit in 11th place with 3 games remaining as they seek to secure a top half finish.
The Hatters had an early opportunity, as Adebayo saw a shot deflected wide before a foul on home keeper Daniel Bentley saw a goal from the resulting corner ruled out.
Bristol City soon began to do more going forward. Wells saw one hit from range go wide before another attempt was blocked by Luton keeper Simon Sluga’s face.
Jordan Clark nearly scored in response, with the Luton man dragging a strike on the turn narrowly wide of the mark.
But it was soon Bristol City that had something to shout about with a goal. Nagy ran down the flank and teed up Wells, with the striker lashing beyond Sluga.
Wells then fired wide when well placed before Bristol City grabbed a second. Nagy turned in the rebound following an initial Sluga stop to keep out Wells from a free-kick.
Luton showed an indication they hadn’t given up on things when Clark’s header had to be kept out by Bentley.
After the break, Adebayo and half-time sub Collins came close, but Bristol City could’ve ended the contest when teenage youngster Tommy Conway fired wide.
Having survived that, Luton grabbed the game’s third goal to make it 2-1. Collins grabbed it, with the Irishman turning in Kiernan Dewsbury-Hall’s corner.
Less than 10 minutes later, another Dewsbury-Hall corner generated a second Luton goal and parity. This time, Adebayo got in there first to head in via a post and grab his fifth goal since signing for Luton in January.
Bristol City made four substitutions to try and restore some momentum, but instead a buoyed Luton team would grab their third.
A strike by Dewsbury-Hall ended up bouncing around in the box and it released Cornick, who tapped home his first goal of the season to put Luton ahead for the first time in the match.
The hosts thought they had equalised when Conway turned in the ball in the 89th minute after a scramble at a corner, but an offside flag denied him. From there, Luton were able to see the game out and register the victory.