St Johnstone dropped back to the bottom of the Scottish Premiership after letting a lead slip into Paisley.
Confident forward Callum Hendry had kept his composure from the penalty spot in the 28th minute for a deserved advantage.
But St Mirren hit back with a penalty of their own later in the half through Connor Ronan before, not long after the break, Alex Greive guided the hosts in front.
Despite having numerous attacking players on the field late on in search of a leveller, there was little for the vocal traveling support to get excited about.
Saints manager Callum Davidson had opted for five changes from Saturday’s stalemate with Dundee United. The obvious omission from the team-sheet was Melker Hallberg following his two yellow cards in that tussle of Tayside. Full-back Callum Booth also missed out completely.
Dropping to the bench were James Brown, Jacob Butterfield and Stevie May.
A club debut was handed to right wing-back Tom Sang, on loan from Cardiff, while, on the opposite flank, Tony Gallacher was given the nod.
Experienced Murray Davidson had the honor of patrolling the middle of the park alongside Cammy MacPherson – back at his former employer – and Ali Crawford. Glenn Middleton was in for a rare start.
The most striking news from the squad list was that striker Theo Bair’s name was among the subs after international clearance came through in time.
This Perth group have certainly been in need of more goals but quickly in Paisley attention turned to keeping their own net intact.
Home attackers Greg Kiltie and then Jordan Jones went for glory early doors, with the latter’s attempt smartly stopped by big Zander Clark. He was making his 200th appearance for the club.
Saints were working into the game nicely and, soon, both Crawford and MacPherson forced Jak Alnwick into action from a distance.
Not long after, a lovely Hendry reverse pass sent Middleton into the box and he was taken down by Marcus Fraser. Penalty.
Hendry confidently stepped up and smashed into the net but referee David Dickinson deemed that the ball was moving. A retake was required.
No problem for the Perth striker who calmly dispatched into the bottom corner with 28 minutes played.
MacPherson was up for this and almost added a second with a low, crisp drive but Alnwick was down quickly to touch behind for a corner.
As the break approached, the Buddies were provided with an avenue back into the game with a penalty of their own. Jamie McCart was charged for getting too tight to Greive. It looked harsh but Ronan stepped up, made no mistake and that was 1-1.
Despite the disappointment, Saints had plenty of positives to reflect on at the interval.
But in the 50th minute, they fell behind when a Kiltie cross from the right flank was turned in by alert striker Greive.
Perth boss Davidson did not wait long to switch it up and made a triple substitution just shy of the hour mark. Bair was on for his debut and entered the action alongside Butterfield and Brown. Off went McCart, Sang and Davidson.
MacPherson was then forced off with what appeared to be an injured arm or wrist and he was replaced by Charlie Gilmour.
Saints had fallen out of the match but a break forward on 72 minutes did see the ball worked to Hendry in a promising position. This time he blazed high and wide before, moments later, Gilmour dribbled a strike wide.
May was thrown on for one last throw of the dice but Alnwick remained untested and that was a huge disappointment.