Walsall 3 Rotherham 2
By Simon Fudge
Last Updated: 01/01/70 1:00am
All the goals came in the second half, as The Bescot Stadium saw a match that swung both ways before an injury-time winner gave Saddlers supporters temporary hope.
However, news that Gillingham had drawn 0-0 at Stoke City set in the reality that they would be playing in the Second Division next term.
Paul Merson's side looked the far brighter from the start, with Lee Bradbury forcing a great save from Rotherham goalkeeper Mike Pollitt from edge of box before Jorge Leitao shot wide with an effort of his own.
Despite the home side's pressure, Ronnie Moore's side held firm at the back and The Millers then went close with chances of their own.
On the break, Michael Proctor forced a great diving save from Walsall custodian James Walker and the Saddlers keeper was called on again to make similar diving save from Shaun Barker.
The visitors will wonder how they were not in front before the break, as Proctor failed to find the target after being clean in on goal and having rounded a sprawling Walker before hitting a woeful shot that was easily cleared.
The former Sunderland hit-man then set up Martin Butler to run in unmarked on Walker but with ample time to shoot, he inexplicably failed to strike an effort before Walsall's defenders got back behind the ball to take the chance away, as the first half ended goalless.
The second half would see the real drama of the match, with Walsall needing a result but left upset by two dubious penalty decisions that gave Rotherham their two goals.
It took the Black Country club just four minutes to score as Simon Osborn scrambled home a rebound after Pollitt failed to hand an initial shot on goal to send the home crowd into raptures.
Saddlers player-manager Merson was in inspired form in the second half, stinging Pollitt's hands with a fine strike moments later.
However, Rotherham were handed the first of their two penalties six minutes after going behind when Proctor was dubiously bundled over in Walsall's box by Osborn and referee Brian Curson pointed to the spot.
Despite the home side's protests, Proctor stepped up to beat Walker from the spot to bring The Millers level.
Walsall's desperate plight was then seemingly made worse when goalscorer Osborn was given his second yellow card and his marching orders by referee Curson for a late challenge on 62 minutes.
However, the ten men of Walsall would rally to take the lead again seven minutes later as substitute Mark Wright, who had just come on, scrambled home another rebound after Pollitt again spilled a low drive from the edge of the box.
With The Saddlers needing another goal to improve their goal difference, they proceeded to put Pollitt under pressure with Merson and Wright shooting wide and Darren Wrack shooting right at the Millers' keeper, as the match went into injury time.
It was then that Walsall's fate looked sealed when referee Curson adjudged Saddlers defender Ian Roper to have brought down Millers substitute Richie Barker in the box for another penalty.
Despite further Walsall protests, substitute Paul Warne put home his spot kick to make it 2-2, forcing Walsall to try and score again before the final whistle.
The home side would not let their supporters down as skipper Merson's corner found Ritchie and his strike gave The Saddlers a dramatic win in the dying stages.
Despite the excitement , Walsall soon found out that Stoke could not score a winner against The Gills and the reality of relegation was plain to see on many faces in The Bescot Stadium long after the final whistle.