Peterhead defeated Kelty Hearts 5-3 on penalties to boost their chances of progression to the last 16 of the League Cup.
After a 1-1 draw at New Central Park the Blue Toon prevailed in the shoot-out.
Captain Scott Brown, Gary Fraser, Steven Boyd, Derek Lyle and Ryan Conroy all scored for the Buchan outfit with Kelty skipper Michael Tider missing the target with the Fife side’s first spot-kick proving crucial.
The Blue Toon have eight points in Group C, alongside Dundee United, while St Johnstone have seven.
The Perth side visit Balmoor on Saturday with Peterhead needing at least a point to ensure a top-two finish. Ending the section in second with nine points is likely to be good enough to secure one of the four best runner-up spots, while anything more than a point would see the Aberdeenshire outfit finish top of the group.
Peterhead boss Jim McInally made one change to the side defeated by Montrose on Saturday with goalkeeper Lenny Wilson making his first competitive appearance for the club in place of Josh Rae.
Kelty named former Blue Toon players – Jamie Stevenson, Paddy Boyle and Scott Hooper, who all left Balmoor this summer – in their side and another on the bench in Craig Reid.
The visitors had the first effort early on with Fraser curling a free-kick narrowly beyond the back post and it was only a well-timed, last-ditch Hooper challenge that stopped Lyall Cameron pulling the trigger after a poor clearance from Kelty keeper Darren Jamieson.
Kelty had plenty of possession but they struggled to penetrate Peterhead’s defence with Dylan Easton and Boyle slashing efforts over from the edge of the area.
Matthew Flynn was almost given a chance from an Easton corner, but Kieran Freeman stepped in to clear the danger.
Shortly after the half hour mark Stevenson stung Wilson’s gloves with a powerful shot from the edge of the area and then Kallum Higginbotham sent in a tempting cross which found no takers.
Although it was level at the break Peterhead had struggled to create many openings outwith their early flurry. Whistle-happy referee Gavin Ross didn’t help proceedings with a number of questionable calls, including booking Jason Brown for an innocuous foul.
McInally made two substitutions at half-time with Derek Lyle and Steven Boyd replacing Cameron and Alan Cook.
Just four minutes into the second half the Buchan side netted the opener in spectacular style as Fraser unleashed a thunderbolt of a right-foot shot from 25 yards that flew into the top right corner.
Seconds later Ben Armour almost grabbed a second but Jamieson made a good diving save to hold his effort from the edge of the box.
In response Kelty twice went close from Easton corners with Lyle making a crucial clearance and Hooper having a header blocked.
Lyle’s presence up front was a great asset with his link-up play helping Peterhead cause more problems in attack than the first period.
Boyd spurned a good opportunity on the counter-attack after being played through by Fraser and midway through the second half Kelty levelled with Stevenson’s free-kick from 35 yards squirming through Wilson’s hands and into the net.
The game was finely poised and with 12 minutes left Flynn headed over from a deft Higginbotham cross.
Peterhead also got into good positions with Lyle heading straight at Jamieson with the last kick before the shoot-out, but the Blue Toon earned their bonus point.
Kelty Hearts – Darren Jamieson, Jamie Stevenson, Scott Hooper, Dougie Hill, Paddy Boyle, Kallum Higginbotham, Thomas Reilly, Michael Tidser, Ross Philp (Robbie McNab 86), Dylan Easton, Matthew Flynn.
Subs not used – Craig Reid, Nathan Cooney, Arnault Bembo, Thomas Scobbie, Josh Donaldson.
Peterhead – Lenny Wilson, Kyle Bailey, Kieran Freeman, Jason Brown, Ryan Conroy, Scott Brown, Gary Fraser, Andrew McCarthy (Hashim Bakar 81), Lyall Cameron (Steven Boyd 46), Ben Armour (Simon Ferry 63), Alan Cook (Derek Lyle 46).
Subs not used – Derryn Kesson.