The midfielder made the most of a David Barron mis-kick to drill a 25-yard shot past the despairing dive of Buddies keeper Paul Gallacher after only 18 minutes.

The Perth outfit would have been disappointed not to have added to their lead in a second half they dominated, particularly after visiting striker Michael Higdon was dismissed for a second caution in the 67th minute.

However, Derek McInnes' men never looked in danger of letting the three points slip as they leapfrogged their opponents to move into seventh spot.

The light dusting of snow on the McDiarmid Park pitch necessitated referee Mike Tumilty calling for a yellow ball for kick-off and it was visitors St Mirren who tamed the icy conditions first to create an early opportunity.

Craig Dargo shuffled his way across the edge of the box and when the ball fell for Billy Mehmet on the right edge of the area, his powerful drive shaved the outside of a relieved Graeme Smith's right-hand post.

St Mirren's fluid formation, with Mehmet and Dargo joined by fellow striker Higdon, saw them boss possession early on.

But the home side did put together a meaningful attack in the 14th minute as Filipe Morais was released down the left flank by Kenny Deuchar's flick on and the attack climaxed with Jody Morris blasting high and wide from 12 yards out.

Three minutes later, at the other end, Dargo raced clear on goal from Higdon's flick on but Smith cantered from his goal to block the striker's tame effort when he should have broken the deadlock.

And the Buddies were left to rue that miss as St Johnstone took the lead in the 19th minute.

Barron mis-kicked his attempted clearance 25 yards from goal and Millar reacted first to drill his drive under Gallacher's outstretched arms and into the bottom corner of the net.

The home side's goal had turned the tide in their favour and their rearranged back four, with full-back Dave Mackay in the centre and Gary Irvine in for a rare start at right-back, did not find themselves under too much pressure.

At the other end, Deuchar was presented with an opportunity following neat interplay but blasted just past the top corner from 16 yards.

St Johnstone were forced into a change early in the second half when MacDonald went off to be replaced by Steven Milne for the striker's first appearance in 10 weeks.

Millar then wasted a good opportunity for the home side in the 51st minute as he scampered onto a Morais pass but failed to pick out any of the three team-mates he had supporting in the box.

Milne's introduction had injected some pace into the St Johnstone front line and his intelligent running off the ball was creating problems for the visitors' defence as the Perth Saints looked for the killer second goal.

A flurry of corners heaped pressure on the Buddies' goal but they almost grabbed an equaliser in a rare attack at the other end.

Grainger did magnificently to head McGinn's cross clear as he hurtled towards his own goal and Hugh Murray's 20-yard effort from the rebound flashed wide of Smith's exposed goal.

With 66 minutes gone, St Mirren's task became even harder when they were reduced to 10 men.

Higdon, booked midway through the first half for a foul on Graham Gartland, was guilty of another late challenge on the same defender to earn a second caution and the resultant red card.

Deuchar could not find the target from 40 yards out on the left flank after Buddies keeper Gallacher had mis-hit his clearance straight to the striker but it was still the home side who looked the more likely to score as time dragged on.

Gallacher had to look smart in the 79th minute as Milne was allowed time to race on to Irvine's pass and deliver a ball across the six-yard box that, with a little more care, could have picked out Deuchar.

St Mirren manager Gus MacPherson switched to a back three for the final six minutes after introducing Stephen O'Donnell for Barron but there was to be no equaliser as the visitors staged a spirited grandstand finish.