Leeds United have come from two goals down to hold Bristol City to a 2-2 draw at Elland Road, with substitute Kemar Roofe sliding home the equaliser 10 minutes from time.
The Robins looked in control at the interval as Famara Diedhiou and Bobby Reid struck within the first 16 minutes, but goals from Pierre-Michel Lasogga and Roofe after the break ensured that the spoils were shared.
The hosts started the match brightly and almost took the lead in the fifth minute when Stuart Dallas let fly from the edge of the penalty area, stinging the palms of Bristol goalkeeper Frank Fielding.
Lee Johnson's side, who went into the match in sixth place in the table, edged their noses in front just six minutes later, after a long throw into the penalty area by Hordur Magnusson wrong-footed Leeds goalkeeper Felix Wiedwald, allowing Diedhiou to tuck the ball home from close range.
Six minutes later, the Robins doubled their lead as Aden Flint's cross from wide on the right was turned in by Reid from close range, his 13th league goal of the season.
Bristol almost made it three before the interval as Ryan Kent's low shot was tipped behind by Wiedwald and Flint missed missed the target from the resulting corner, though the balance of power would shift in the second half.
The visitors tested Wiedwald again just before the hour mark through Diedhiou, whose downward header at the far post was fumbled away nervously by the Leeds goalkeeper, but it was not long before the hosts gave themselves a lifeline.
Lasogga reduced the deficit in the 72nd minute, latching on to Pablo Hernandez's ball from deep and beating Fielding from close quarters to make it 2-1.
The home support responded to Leeds's second-half improvement and, buoyed by the noise from the stands, the home side found an equaliser in the 80th minute when Roofe slid home at the near post.
Leeds had Bristol on the ropes in the closing stages and came close to a last-gasp winner on several occasions, first in the 85th minute when Adam Forshaw's shot from outside the box dipped just wide of the top corner.
Moments later, substitute Kalvin Phillips headed over from just five yards out before Lasogga crashed a header off the bar with the last touch of the game.
The result sees Bristol remain in the playoff positions with a three-point cushion between them and Preston North End in seventh, while Leeds move up on place to 11th.
LEEDS UNITED (4-4-2): Wiedwald; Anita, De Bock, Jansson, Pennington; Forshaw, O'Kane (Phillips 73'), Dallas (Sacko 64'), Hernandez; Lasogga, Ekuban (Roofe 64')
BRISTOL CITY (4-2-2): Fielding; Flint, Bryan, Magnusson, Wright; Kent, Pack, Brownhill (Paterson 79'), Smith; Diedhiou (Woodrow 80'), Reid
No Data Analysis info