Five goals, three penalties and a red card – yes, this pulsating game at Dens Park was certainly worth the admission money for the 6,001 fans inside the ground.
More importantly from a Dundee perspective, this was their first Premiership win of the season and lifted them off the foot of the table.
As for Saints, the result brought their unbeaten start to the league campaign to an abrupt end.
Dundee boss Neil McCann made two changes from the side that was beaten 4-1 at Ibrox last week –club captain Darren O’Dea returning from injury and A-Jay Leitch-Smith being handed his home debut with Kerr Waddell and Scott Allan dropping to the bench.
Saints manager Tommy Wright also made two changes from the line-up that faced Hibs last weekend.
Denny Johnstone was awarded his first start for the club and Liam Craig won the nod after coming off the bench against the Edinburgh side with Stefan Scougall having to be content with a substitute role and Murray Davidson dropping out of the squad altogether.
Dundee stormed into an early lead in just the ninth minute. Roarie Deacon delivered a free-kick from the right into the St Johnstone penalty area with O’Dea heading towards goal. Saints keeper Alan Mannus looked to have it covered but he fumbled allowing Leitch-Smith to pounce and shoot home from close range.
Wright’s men then had a chance of their own when Michael O’Halloran embarked on a trademark blistering run down the left but home keeper Scott Bain blocked his angled shot at his near post.
Leitch-Smith then came close to adding a second when he was just inches away from what would have been a tap-in from a Kevin Holt shot.
The Dark Blues were forced to make a change in the 22nd minute with Deacon, who had picked up a knock earlier, forced to come off to be replaced by Randy Wolters.
Dundee continued to look dangerous on the counter-attack while Saints struggled to create any clear-cut chances with the Perth players looking increasingly frustrated as referee Alan Muir blew for half-time.
Three minutes after the restart, Mannus partially redeemed himself when he made a vital diving save from a 20-yard dipping shot from Faissal El Bakhtaoui.
After that promising opening, there was a lull with goalscoring opportunities few and far between.
However, the game exploded into life again in the 65th minute – and it was that man Leitch-Smith hitting the back of the net again. Lewis Spence headed the ball into the path of the Englishman in the Saints box and he made no mistake lashing the ball high past Mannus from six yards.
St Johnstone came right back into it in the 75th minute when Bain raced out and clattered into St Johnstone sub Graham Cummins with referee Alan Muir having no hesitation in pointing to the spot. Craig calmly stepped up and gave Bain no chance with the penalty.
St Johnstone then had a Steven Anderson “goal” disallowed for a push down on O’Dea.
Then in the 78th minute, Dundee had a penalty of their own when Richard Foster challenged Leitch-Smith. Sofien Moussa took the spot-kick and calmly sent Mannus the wrong way to restore his side’s two-goal cushion.
Mr Muir then awarded an astonishing third penalty of the afternoon in the 84th minute when he adjudged O’Dea to have fouled Steven Anderson. The Dundee captain had been booked just a few minutes earlier and the referee showed him a second yellow followed by a red before Craig again sent Bain the wrong way to make it 3-2.
As tempers started to boil over, home assistant boss Graham Gartland was sent to the stand.
Five minutes of added time were added on but Dundee held on to take a priceless three points.