St Johnstone bravely went toe to toe with runaway league leaders Celtic but ultimately left the East End of Glasgow empty-handed.
Saints game plan had been working perfectly and the Hoops had the woodwork to thank for ensuring they did not go behind in the first-half.
However, home pressure finally told in the second 45 with Celtic scoring what proved to be the only goal of the game through Dedryck Boyata but even after that, Saints had a big claim for a penalty denied.
McDiarmid boss Tommy Wright made four changes from the team that knocked Stenhousemuir out of the Scottish Cup at the weekend with Brian Easton, Blair Alston, Steven MacLean and Graham Cummins all dropping to the bench with Tam Scobbie, Paul Paton, Chris Kane and Liam Craig being drafted into the starting XI.
Celtic went into the game knowing if they could avoid defeat against the Perth side then they would equal the achievement of the legendary Lisbon Lions record of 26 domestic games unbeaten since the start of a season.
It was also a memorable night for Hoops skipper Scott Brown who was making his 400th appearance for the club.
The home side had the first opportunity of the match in the third minute when Paton conceded a foul 25 yards from his goal. Nir Bitton stepped up to take the central free-kick and sent it dipping just inches past Saints keeper Zander Clark’s left-hand post.
St Johnstone then had a chance of their own when Craig flighted a corner in from the left with Steven Anderson sending a looping header just past Craig Gordon’s goal.
The Hoops thought they had opened the scoring in the 10th minute when James Forrest crossed for Scott Sinclair to head home at the far post but the “goal” was chalked off with the linesman adjudging the ball had gone out just before.
The home side had a big scare in the 16th minute when Danny Swanson sent a corner in from the right with Gordon coming to catch but he only succeeded in fumbling the ball which broke to Anderson. The Saints skipper sent a lofted shot towards goal with Gordon having to backtrack to tip it over his bar.
Celtic came storming back and created two chances within the space of a few seconds with Clark having to pull off a tremendous save from a rasping Stuart Armstrong shot and then David Wotherspoon cleared off his own line to keep out a Boyata header.
However, it was Saints who came agonisingly close to breaking the deadlock in the 20th minute. Celtic could not clear a St Johnstone corner properly with the ball eventually falling perfectly for Swanson who cracked a low shot from 16 yards off the inside of Gordon’s right-hand post and back along the goal-line.
Clark had to look lively in the 40th minute, producing a vital diving save to keep out a 20-yard Forrest drive with Saints deservedly heading down the tunnel at half-time still on par with the defending Champions.
The Perth players’ dogged resistance continued at the start of the second 45 with the home support growing frustrated the longer the game remained goalless.
Just before the hour mark, Forrest did have an opportunity as he burst into the Saints box but he blazed his shot way over.
Brown then hit a low drive from 20 yards but the shot flew straight into Clark’s arms and shortly after Armstrong embarked on a trademark powerful run before hitting a shot from 14 yards that the keeper had to claw away diving to his left.
Saints had a big let-off in the 66th minute when Celtic sub Patrick Roberts pulled a tempting cutback from the right with Sinclair missing the target when he looked odds-on to score.
However, St Johnstone’s brave resistance was finally broken in the 72nd minute when Armstrong sent a corner in from the Celtic right with Boyata rising highest to bullet a header past Clark from six yards.
Shortly after, the Saints bench were up claiming for a penalty as Celtic skipper Brown looked to have pushed Anderson in the back knocking him over in the home box but referee Andrew Dallas and his officials decided there had been no offence.
Deep into stoppage time, Brown tried to put the icing on the cake for the Hoops but his shot was well off target.
Attendance – 51,057.
Celtic – Gordon, Simunovic, Bitton, Brown, Dembele (Griffiths, 74), Sinclair, Gamboa (Sviatchenko, 83), Armstrong, Boyata, Forrest (Roberts, 64), Tierney. Subs not used – De Vries, Izaguirre, Mackay-Steven, McGregor.
St Johnstone – Clark, Scobbie, Anderson, Millar, Wotherspoon (Alston, 58), Swanson (Cummins, 79), Shaughnessy, Paton, Watson, Kane (MacLean, 79), Craig. Subs not used – Mannus, Davidson, Easton, Thomson.
Referee – Andrew Dallas.