Ross McCrorie’s double kicked off a party for both sets of fans at Ashton Gate as Bristol City recovered from two goals down to draw 2-2 with Preston.
The shared points also saw the visitors avoid relegation thanks to results elsewhere and full-time sparked scenes of celebration at both ends.
Preston struck first in the 28th minute when poor marking allowed Emil Riis the chance to head home a Robbie Brady corner from the centre of the six-yard box.
It was 2-0 in the 60th minute, Milutin Osmajic breaking clean through City's backline to coolly slot a low right-footed shot beneath the dive of Max O'Leary.
The Robins hit back nine minutes later, McCrorie heading home at the far post from a Nahki Wells cross. The wing-back was on target again in the 74th minute, sweeping Jason Knight's low ball into the box to fire past David Cornell.
Liam Manning's men faced an anxious few minutes after the final whistle before news came through that Blackburn's game at Sheffield United had ended in a draw, confirming their sixth-placed finish and inspiring a pitch invasion and wild scenes of jubilation.
City can now look forward to being in the play-offs for the first time in 17 years and will face the Blades in a two-legged semi-final.
A sell-out crowd had Ashton Gate rocking at kick-off. The opening exchanges were predictably tense with both teams confined to long-range attempts at goal. The best came from Wells in the ninth minute when his low effort skidded narrowly wide.
Preston's dual strikeforce of Riis and Osmajic were looking a threat. In the 27th minute City goalkeeper O'Leary had to make the first save of note when palming a low effort from Kaine Kesler-Hayden around the foot of a post.
The resulting corner from the right saw Riis break the deadlock. City almost responded immediately when a sweetly struck Scott Twine volley from the corner of the box swerved just over the bar.
Twine also had a free-kick blocked, but it was Preston who went close again in the 36th minute when Brady shot wide, having been set up by the impressive Riis.
The visitors had another chance to go two up in the opening moments of the second half, Osmajic ending a strong run with a low drive that was saved at his near post by O'Leary. Manning responded with a triple substitution in the 58th minute, but soon saw Osmajic increase Preston's lead.
The hosts needed a hero and found one in wing-back McCrorie, who has made a happy habit of scoring in recent weeks.
Substitute Anis Mehmeti went close to winning it for City with a glancing header, but in the end a point was enough for both teams.
Championship play-off schedule
First legs
- Thur 8: Bristol City vs Sheff Utd, 8pm
- Fri 9: Coventry vs Sunderland, 8pm
Second legs
- Mon 12: Sheff Utd vs Bristol City, 8pm
- Tues 13: Sunderland vs Coventry, 8pm
Final: Sat May 24 (KO tbc)
The managers
Bristol City's Liam Manning:
To follow...
Preston's Paul Heckingbottom:
To follow...