Bristol City's Championship play-off dream remains alive after a late 2-1 win at Millwall.

The visitors had seemingly slipped out of contention after a run of one point from four matches - including Saturday's costly defeat to Derby County - left them outside the top six.

And it looked as though their slim chances of still achieving promotion to the Premier League would be extinguished when they trailed to Lee Gregory's goal at half-time on Tuesday.

But City responded admirably to Gregory's smart finish on the turn, even if they might have fallen further behind in the second half when the scorer went down in the area.

Max O'Leary kept out Shaun Williams' penalty, though, and Lee Johnson's men were level three minutes later thanks to Jamie Paterson's superb free-kick.

City kept pushing and, with eight minutes remaining, Famara Diedhiou struck to leave his side just one point behind sixth-placed Derby County, who have a game in hand, away at Swansea City on Wednesday, and Middlesbrough.

Elsewhere, Luton Town and Barnsley were both promoted to the Championship after Portsmouth and Sunderland each lost their games in hand, meaning they will have to go through the play-offs to reach the the second tier.