A closely fought tie came to life in the final 18 minutes as the Perth side struck twice in two minutes through Chris Kane, who flicked home a cross from substitute Glenn Middleton, who then doubled the lead with a stunning 25-yard free-kick.
An 85th minute header from Conor McCarthy pulled one back for the Paisley side and set up a tense finish but Callum Davidson’s men held on to reach their second final of the season, having lifted the Betfred Cup in February.
St Johnstone will now meet Hibs in the final on Saturday, May 22 after the Edinburgh side overcame Dundee United in Saturday’s other semi-final.
Here is how the two sets of Saints players rated ...