In the 37th minute of a first-half controlled by the champions, defender Efe Ambrose scored his second goal in two games after costing the Hoops twice in their 3-0 Champions League last-16 defeat against Juventus a week ago.
The Perth side, who had deprived Celtic of five points in their previous two meetings this season, made a better fist of the second-half and had the ball in the net twice, only to see both efforts ruled out for offside but with eight minutes remaining Hasselbaink, on for Rowan Vine, curled a fantastic shot past Fraser Forster to stun the Parkhead side.
Celtic will still win the title after going 19 points clear of Motherwell but manager Neil Lennon will be unhappy with the dropping of two points in a game that should have been over by the interval.
The Hoops boss made one change to his side for the trip to Perth with striker Lassad Nouioui in for Anthony Stokes who started on the bench.
Steve Lomas's team showed two changes with defender Tom Scobbie in for Callum Davidson, who dropped to the bench, and Michael Doughty in for midfielder Murray Davidson was out with an injured ankle.
Celtic started in the same vein as Saturday, when they crushed Dundee United 6-2 at Parkhead.
Their first chance arrived in the second minute when Kris Commons' toe-poke put in striker Gary Hooper but the former Scunthorpe striker's shot was blocked by the foot of Saints keeper Alan Mannus.
The Northern Irishman again came to the rescue two minutes later when Hooper got through to take a Charlie Mulgrew pass out of the air, the keeper again saving with his feet.
The visitors were in complete control and in the sixth minute Lassad headed an Emilio Izaguirre cross past the far post from around eight yards.
Lomas's side were offering little in reply although in the 15th minute Mulgrew's intervention at the edge of the box stopped Steven MacLean getting through to face Fraser Forster but the corner came to nothing.
The home side continued to dominate but in the 27th minute some slack play in his own penalty area by Ambrose allowed Mehdi Abeid to rob him, but the St Johnstone midfielder's turn and drive hit the side netting.
Celtic raced up the park and Victor Wanyama set up Joe Ledley with a measured pass which dissected the Saints defence but the midfielder's angled-drive was saved by Mannus.
In the 34th minute Mannus again saved the home side when a one-two between Hooper and Ledley saw the Welshman cut the ball back for Lassad but his first-time effort from eight yards was blocked by the keeper.
Three minutes later, though, Celtic were ahead.
With the Saints defence sleeping, Commons worked a quick corner to Izaguirre and when he whipped in his cross Ambrose rose to flick a header past Mannus, who this time was helpless.
The Nigeria defender performed his now trademark somersault celebration behind the goal before racing all the way over to the technical area to hug Lennon, acknowledging his gaffer's backing in the wake of the Juventus defeat.
Striker Gregory Tade replaced Michael Doughty for the start of the second-half as Lomas tried to get a foothold in the game and in the 55th minute MacLean had the ball in the net from an Abeid free-kick only to see the flag raised for offside.
That seemed to give the home side a little bit of hope and there was a moment of panic in the Celtic box just after the hour-mark when Tade almost latched on to a Frazer Wright knock-down but Forster saved at the second attempt.
In the 65th minute, with the Perth men coming back into the game, Hasselbaink came on for Vine while James Forrest replaced Commons for Celtic, by now, a little disjointed.
Three minutes later Killie had the ball in the net again when skipper Wright headed in from a Liam Craig free-kick from close range but again the main stand linesman had his flag up.
St Johnstone sensed their just might be something in the game for them and in the 77th minute they had another chance when Hasselbaink set up Craig but the midfielder ballooned the ball over from 12 yards.
In the 82nd minute, however, the Perth side got just rewards for their second-half efforts when Hasselbaink picked up an Abeid pass, turned and curled shot from the edge of the box past Forster and into the far corner of the net.
Celtic responded with some desperation and moments later Forrest sent a shot from the edge of the box just wide before Mannus made another fine save at his near post, after Craig had deflected a shot from Mulgrew but there was to be no late winner for the Hoops.