Esmael Goncalves was St Mirren's goal-hero as his double knocked St Johnstone out of the Scottish Cup.
The Portuguese striker looked sharp early on before home keeper Craig Samson saved brilliantly from Steven MacLean and Rowan Vine.
Goncalves' headed his first past Alan Mannus from Gary Teale's cross.
And he got his fourth goal in three games after collecting Steven Thompson's flick to net a low shot under pressure from two defenders.
These two sides last Scottish Cup meeting came in the 2007-08 season when the Perth Saints comprehensively won replay at St Mirren's old Love Street ground.
St Mirren's Goncalves got pulses racing in Paisley after 10 minutes with a mazy run through the visitors defence which David McCracken dealt with fairly.
Good early signs, though, from the Portuguese striker who has made a great start to life in Scottish football.
And it was he who escaped the attentions of St Johnstone's Frazer Wright down the wing in the 18th minute to put in a tempting cross for Thompson, who could only turn it wide.
Perhaps frustrated by St Mirren's bright start to this cup-tie, St Johnstone's Paddy Cregg unleashed a two-footed tackle on Thompson which brought the yellow card out of referee Craig Thomson's pocket.
Shortly after, Cregg followed that up with a 20-yard shot which was dragged well wide - St Johnstone's first clear chance of the match.
But they carved a much better opportunity just after the half-hour mark.
Home keeper Samson showed great reflexes to turn MacLean's effort round the post after the striker got on the end of Vine's cross-come-shot.
The stopper rescued his side again with a superb one-handed save to prevent Vine's header hitting the top corner.
Samson's heroics were definitely not required, however, just before half-time when the unmarked MacLean slashed Gregory Tade's pass over from just inside the box.
After the turnaround, Goncalves rose to splendidly head Teale's cross from the right past a sprawling Mannus for the opening goal.
And on 56 minutes the 21-year-old had another goal.
This time Thompson's flicked header found Goncalves near the penalty spot. He was under pressure from McCracken and Wright but still carved space to roll a low shot past Mannus.
Not happy with two, he nearly had his hat-trick 60 seconds later but his curled effort narrowly missed the far post - the Perth side not knowing how to cope with St Mirren's January signing.
St Johnstone brought on Nigel Hasselbaink as well as recent captures Gwion Edwards and Mehdi Abeid to try and halt their impending Scottish Cup exit.
A 25-yard rising Teale free-kick flashed wide of Mannus' post before Goncalves spurned a further opportunity to make it a hat-trick.
With five minutes left, St Johnstone's Liam Craig again brought out the best in Samson with a bullet header which the big goalie clawed away.
Even in injury time, St Mirren's goalkeeper had to graft hard to maintain a clean-sheet - blocking Hasselbaink's close-range shot.
- 01 Samson
- 02 van Zanten
- 06 Goodwin
- 14 McAusland
- 11 Carey
- 21 Teale
- 24 Newton
- 29 J McGinn
- 77 Goncalves
- 09 Thompson (Guy - 81' )
- 10 McGowan Booked (Dummett - 66' )
- 16 Adam
- 03 Dummett
- 05 Mair
- 07 Imrie
- 27 Guy
- 01 Mannus
- 02 MacKay
- 05 Wright
- 18 McCracken
- 33 Scobbie
- 04 Cregg Booked (Gwion Edwards - 72' )
- 10 Craig Booked
- 16 Doughty (Abeid - 59' )
- 23 Vine
- 09 Tade (Hasselbaink - 57' )
- 17 MacLean
- 15 Tuffey
- 03 Davidson
- 14 Gwion Edwards
- 21 Abeid
- 11 Hasselbaink
Live Text Commentary
Full Time The match has reached full-time.90:00 +1:47
Nigel Hasselbaink takes a shot. Fantastic save by Craig Samson.90:00 +1:22
Free kick awarded for a foul by Gary Teale on Mehdi Abeid. David McCracken restarts play with the free kick.90:00 +0:05
Effort from the edge of the box by Gary Teale goes wide of the right-hand upright.87:44
Free kick awarded for a foul by Gwion Edwards on Graham Carey. John McGinn takes the free kick.85:21
Inswinging corner taken by Nigel Hasselbaink, clearance by Jim Goodwin.84:58
Shot by Liam Craig. Craig Samson makes a fantastic save.84:28
Shot from inside the six-yard box by Esmael Goncalves goes wide right of the goal.82:02
Unfair challenge on Esmael Goncalves by Liam Craig results in a free kick. Gary Teale shoots direct from the free kick.79:57 Substitution
Substitution (St Mirren) makes a substitution, with Lewis Guy coming on for Steven Thompson.79:57
Liam Craig has an effort at goal from outside the penalty box missing to the wide right of the goal.78:33
Free kick awarded for an unfair challenge on Nigel Hasselbaink by Jim Goodwin. Liam Craig sends in a cross, Steven MacLean takes a shot. Save made by Craig Samson.75:33
Frazer Wright concedes a free kick for a foul on Graham Carey. Direct free kick taken by Graham Carey.74:22
David van Zanten fouled by Nigel Hasselbaink, the ref awards a free kick. Marc McAusland restarts play with the free kick.72:33
The ball is delivered by David van Zanten.71:45 Substitution
Substitution Gwion Edwards joins the action as a substitute, replacing Patrick Cregg.69:56
The referee blows for offside against Steven Thompson. Alan Mannus restarts play with the free kick.69:21
The ball is sent over by Paul Dummett.66:02
Rowan Vine produces a left-footed shot from the edge of the box and misses to the left of the target.65:07
David MacKay takes the direct free kick.
Substitution (St Mirren) makes a substitution, with Paul Dummett coming on for Paul McGowan.65:07 Booking
Booking Paul McGowan is cautioned.65:04
Paul McGowan is penalised for a handball.64:14
Unfair challenge on Steven MacLean by Jim Goodwin results in a free kick. Direct free kick taken by Patrick Cregg.63:23
Gary Teale produces a cross, Steven Thompson produces a left-footed shot from deep inside the six-yard box which goes wide of the right-hand upright.62:00
Rowan Vine takes a shot. Comfortable save by Craig Samson.59:41
Corner taken short by Rowan Vine.58:46 Substitution
Substitution Mehdi Abeid comes on in place of Michael Doughty.57:48
Jim Goodwin challenges Steven MacLean unfairly and gives away a free kick. The free kick is swung in left-footed by Liam Craig, save made by Craig Samson.56:51 Substitution
Substitution Nigel Hasselbaink comes on in place of Gregory Tade.55:48
Steven Thompson provided the assist for the goal. Effort on goal by Esmael Goncalves from inside the box misses to the right of the target.55:48 Goal scored
Goal! - Esmael Goncalves - St Mirren 2 - 0 St J'stone Esmael Goncalves finds the back of the net with a goal from deep inside the penalty box to the bottom left corner of the goal. St Mirren 2-0 St Johnstone.54:59
Direct free kick taken by Jim Goodwin.54:59 Booking
Booking Liam Craig goes into the book.54:51
Liam Craig challenges Paul McGowan unfairly and gives away a free kick.53:57
A cross is delivered by Graham Carey, Esmael Goncalves has a volleyed shot. Save by Alan Mannus.52:17
Gary Teale produces a right-footed shot from just outside the box that goes wide left of the goal.51:19
A cross is delivered by Liam Craig, Headed effort on goal by Gregory Tade from inside the penalty box misses to the right of the target.48:36
Assist on the goal came from Gary Teale.48:36 Goal scored
Goal! - Esmael Goncalves - St Mirren 1 - 0 St J'stone Esmael Goncalves grabs a headed goal from deep inside the penalty box. St Mirren 1-0 St Johnstone.48:30
Gary Teale crosses the ball,45:41
Liam Craig produces a cross, Gregory Tade has an effort at goal.45:01
The second half kicks off.45:00 +0:03 Half time
Half Time The first half comes to an end.43:43
The ball is crossed by Michael Doughty.43:14
Inswinging corner taken from the right by-line by Liam Craig, clearance by Marc McAusland.42:54
David MacKay crosses the ball, clearance made by Jim Goodwin.41:53
Steven MacLean produces a right-footed shot from inside the area that clears the bar.41:14
Inswinging corner taken left-footed by John McGinn played to the near post, Liam Craig makes a clearance.40:20
David MacKay is penalised for a handball. Craig Samson takes the free kick.37:23
Corner taken by Liam Craig from the left by-line, clearance by Jim Goodwin. David MacKay produces a cross, Rowan Vine takes a shot. Save made by Craig Samson.36:48
Graham Carey takes a shot. Comfortable save by Alan Mannus.34:55
Inswinging corner taken by Rowan Vine from the left by-line, Jim Goodwin makes a clearance.33:48
Free kick awarded for an unfair challenge on Gregory Tade by Jim Goodwin. Liam Craig produces a strike on goal direct from the free kick.32:26
Shot from outside the box by Patrick Cregg misses to the left of the target.31:43
Paul McGowan concedes a free kick for a foul on Liam Craig. Free kick taken by Alan Mannus.31:28
Gary Teale delivers the ball, Frazer Wright manages to make a clearance.30:18
Graham Carey concedes a free kick for a foul on Steven MacLean. Centre by Liam Craig, Close range headed effort by Michael Doughty misses to the right of the target.28:07
Rowan Vine is adjudged to have handled the ball. Jim Goodwin restarts play with the free kick.26:11
Conor Newton takes the free kick.26:11 Booking
Booking Caution for Patrick Cregg.25:55
Steven Thompson fouled by Patrick Cregg, the ref awards a free kick.23:51
Free kick awarded for a foul by Patrick Cregg on Paul McGowan. Graham Carey produces a strike on goal direct from the free kick, save by Alan Mannus.21:42
Shot from just outside the box by Gary Teale misses to the right of the goal.18:16
Esmael Goncalves delivers the ball, Effort from inside the six-yard box by Steven Thompson goes wide right of the goal.17:23
Gary Teale takes the inswinging corner, Alan Mannus makes a save.15:59
Conor Newton takes a shot from 25 yards. Comfortable save by Alan Mannus.15:20
A cross is delivered by David van Zanten, clearance made by Frazer Wright.14:54
The ball is delivered by Paul McGowan, Thomas Scobbie makes a clearance.11:40
Jim Goodwin fouled by Steven MacLean, the ref awards a free kick. Craig Samson takes the direct free kick.11:15
Gary Teale is ruled offside. Free kick taken by Alan Mannus.9:25
The ball is swung over by Graham Carey.6:37
Rowan Vine concedes a free kick for a foul on David van Zanten. Free kick crossed right-footed by Gary Teale from right wing, clearance by Liam Craig.5:45
Free kick awarded for a foul by Patrick Cregg on Paul McGowan. Free kick taken by Graham Carey.5:18
The official flags Steven Thompson offside. Patrick Cregg takes the free kick.3:53
Steven MacLean challenges Marc McAusland unfairly and gives away a free kick. Free kick taken by Jim Goodwin.1:41
Foul by Esmael Goncalves on Michael Doughty, free kick awarded. Direct free kick taken by Liam Craig.0:30
Inswinging corner taken by John McGinn from the right by-line, save by Alan Mannus.0:00
The match has kicked off.
Live data and text provided by our data suppliers