Peterhead have a first national cup final to look forward to after defeating Queen’s Park 2-1 in the semi-finals of the Petrofac Training Cup.
Rory McAllister opened the scoring with his 18th of the season and eighth in the competition.
Paul Woods equalised from the penalty spot for the Spiders before Leighton McIntosh put Peterhead back in front after 27 minutes.
Queen’s Park threw everything they had at Peterhead in the final stages but the Balmoor side held on to earn a place in April’s final against either Rangers or St Mirren, who meet in the other semi-final later this month.
The game commenced following a minute’s silence to remember those affected by the terror attacks in Paris.
Peterhead made a promising start and had a half-hearted appeal for a penalty turned down when McAllister tumbled under pressure from James Baty.
The Blue Toon were awarded a free kick on the edge of the area after 17 minutes when McAllister was caught late by Vinnie Berry.
The 28-year-old dusted himself down and curled the free kick around the wall and into the corner of the net to break the deadlock.
But the lead lasted all of five minutes.
Ryan Strachan was penalised for a foul on Sean Burns in the box and Woods tucked away the resulting penalty.
But Peterhead restored their advantage with 27 minutes on the clock.
Queen’s Park failed to deal with an in-swinging free kick from Kevin Dzierzawski and Leighton McIntosh volleyed home the loose ball.
The home side went close to levelling just before the break but Graeme Smith managed to tip a Ryan McGeever header over the crossbar.
Queen’s Park carved out the first opening of the second half with on-loan Partick Thistle attacker Chris Duggan firing over from a Burns cross.
The Blue Toon were still searching for the third goal that would put them out of sight with McAllister hooking over from the edge of the area before Jordon Brown went agonisingly close to tapping home a Jamie Redman flick.
Queen’s Park almost forced the game into extra time with midfielder Jamie McKernon going close from distance in injury time.
And it went from bad to worse for McKernon who saw red for dissent moments later.