Match ends, Kilmarnock 2, Arbroath 1.
Kilmarnock have won the Scottish Championship after a dramatic comeback against nearest rivals Arbroath at Rugby Park.
Blair Alston's 89th-minute winner completed the turnaround after the hosts fell behind early in the match.
James Craigen's ninth-minute goal seemed to have given Arbroath the title momentum, but Ash Taylor's stabbed equaliser set up a tense finish.
The Ayrshire side return to the top flight at the first time of asking.
The result takes Kilmarnock four points clear at the top, uncatchable with just one game remaining.
The maroon smoke drifted across the pitch from the away end as a raucous atmosphere engulfed a packed Rugby Park - a mood that has been missing since Steve Clarke's tenure.
The first half played into Arbroath's hands, with Kilmarnock registering just two shots in the first 45 minutes and the visitors took advantage of the hosts' poor play, charging up the pitch on the counter with Scott Stewart slipping it to Craigen.
The former Partick Thistle man, who secured the Jags' promotion to the top flight in 2013 with a goal against Morton, looked like he had fluffed his shot but the ball crept into the bottom corner.
Luke Donnelly, who helped set up the first goal, almost doubled Arbroath's lead just before half-time, getting on the end of a Michael McKenna cross and flicking past the keeper, but it was not on target and Kilmarnock cleared.
The second half was a much different affair, with Kilmarnock suddenly acutely aware of the task at hand after a nervous and timid opening exchange. The hosts ramped up the pressure as Derek Gaston denied Oli Shaw before Kyle Lafferty and Taylor both saw headers drift high and wide.
The Northern Irish striker - who battled referee John Beaton more often than the Arbroath back-line - did have the ball in the back of the net at one point, but he was about five yards offside at the time.
With 13 minutes remaining, Kilmarnock took their chance. Fraser Murray nodded a header at goal with Gaston saving instinctively, but it dropped to the feet of Taylor who stabbed at goal and Nicky Low could only clear the ball into the roof of his own net.
Despite that set-back, the Arbroath shot stopper was doing his utmost to keep his side in the title race denying Murray twice with acrobatic efforts.
There was little he could do to stop the winning goal. Arbroath were caught flat footed as Kilmarnock launched a counter of their own, with Alston rolling the ball into the bottom corner from the edge of the box to spark scenes of jubilation.
Kilmarnock manager Derek McInnes spoke to BBC Scotland: "What a way to win it. It was no more than we deserved.
"I thought Arbroath were the better team in the first half. I thought we were too pumped up, too erratic, too excitable.
"The perseverance of the team was clear, the winning mentality of the team was brilliant and to score so late on was fantastic. I'm absolutely delighted for so many people but it shows what this place can be.
"We battered Arbroath second half. We eventually got the second goal and it was no more than we deserved because of the chances we created. I thought we were outstanding second half."
- 5MurraySubstituted forSandersat 90+1'minutes
- 55TaylorBooked at 84mins
- 17LyonsSubstituted forBurkeat 68'minutes
- 7McKenzieBooked at 90mins
- 8AlstonBooked at 90mins
- 28LaffertyBooked at 38mins
- 8McKennaBooked at 74minsSubstituted forWightonat 86'minutes
- 6LowSubstituted forThomsonat 90+2'minutes
- 28CraigenSubstituted forHendersonat 86'minutes
- 15DonnellySubstituted forGoldat 55'minutes
- John Beaton
- Shots on Target
Second Half ends, Kilmarnock 2, Arbroath 1.
Attempt missed. Oli Shaw (Kilmarnock) right footed shot from the centre of the box is close, but misses to the left. Assisted by Jack Sanders with a headed pass.
Offside, Kilmarnock. Fraser Murray tries a through ball, but Kyle Lafferty is caught offside.
Rory McKenzie (Kilmarnock) is shown the yellow card.
Fraser Murray (Kilmarnock) wins a free kick on the left wing.
Foul by Craig Wighton (Arbroath).
Rory McKenzie (Kilmarnock) wins a free kick in the defensive half.
Foul by Liam Henderson (Arbroath).
Substitution, Arbroath. Jason Thomson replaces Nicky Low.
Substitution, Kilmarnock. Jack Sanders replaces Euan Murray.
Blair Alston (Kilmarnock) is shown the yellow card for excessive celebration.
Goal! Kilmarnock 2, Arbroath 1. Blair Alston (Kilmarnock) right footed shot from the centre of the box to the bottom right corner. Assisted by Oli Shaw.
Attempt missed. Blair Alston (Kilmarnock) left footed shot from outside the box is high and wide to the left. Assisted by Kyle Lafferty following a corner.
Corner, Kilmarnock. Conceded by Derek Gaston.
Attempt saved. Fraser Murray (Kilmarnock) left footed shot from outside the box is saved in the top left corner. Assisted by Kyle Lafferty.
Attempt saved. Kyle Lafferty (Kilmarnock) right footed shot from outside the box is saved in the bottom left corner.
Corner, Kilmarnock. Conceded by Derek Gaston.
Attempt saved. Fraser Murray (Kilmarnock) right footed shot from outside the box is saved in the centre of the goal. Assisted by Rory McKenzie.
Substitution, Arbroath. Liam Henderson replaces James Craigen.