St Johnstone 0 - 2 St Mirren
Jim Goodwin scored a screamer as St Mirren eased into the last eight of the League Cup at the expense of St Johnstone in Perth.
Jamie Adams headed in an own goal on 38 minutes after good work from the excellent Steven Thompson.
And Goodwin hammered in a terrific, angled strike from 25 yards right on the half time whistle.
St Johnstone offered little in the second half, with Craig Samson saving comfortably from Cillian Sheridan.
The home side, who saw their five-game unbeaten run come to an end, were distinctly below par given their impressive 3-0 victory at Motherwell at the weekend.
St Mirren, 2-0 losers at Hearts on Saturday, went on to dominate the first-half, with teenage midfielder Kenny McLean stinging the palms of goalkeeper Peter Enckelman with a 20-yard drive.
Home defenders Steven Anderson and Dave Mackay were then involved in a tangle, with Gary Teale almost profiting as he chipped wide.
The hosts finally threatened on 21 minutes when Francisco Sandaza wriggled free on goal after a Sean Higgins pass, but his shot was blocked and Liam Craig's follow-up was weak.
The breakthrough came when Thompson's header back across goal was set to be headed in by McLean, only for Adams to do the job for him from close range.
Then, on the stroke of half-time, Goodwin doubled the lead with a stunning finish, with a fizzer that flew past Enckelman.
St Johnstone defender Dave Mackay had an effort held by Samson before Sherdian headed straight at the visiting keeper.
St Johnstone continued to dominate second-half possession, but created little in the way of clear-cut chances.
On the break, Teale saw an effort saved by Enckelman at his near post before Sheridan looked to have pulled one back on 81 minutes only for Samson to scramble his header away from danger following a Craig delivery.
St Mirren manager Danny Lennon: "I'm absolutely delighted. It's a very, very difficult venue to come to and a very, very difficult team to play against.
"You know you are in a game of football here.
"You have to go and earn the right to play and in the first half I certainly felt we did that.
"The first-half performance was very, very good at any level. We had a dominance of possession.
"We were creative but we also had guys with big hearts out there who were hungry for that victory."
St Johnstone manager Derek McInnes: "The damage was done in the first half and I felt the better team won.
"I thought we never really treated it like a cup tie until it was too late.
"We've got a lot of injuries at the moment, we just looked off it, compared to where we have been."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The match has reached full-time.90:00 +0:19
Centre by Gary Teale, Alan Maybury manages to make a clearance.87:18
Liam Craig gives away a free kick for an unfair challenge on Paul McGowan. David van Zanten restarts play with the free kick.86:37
David van Zanten restarts play with the free kick.86:37 Booking
Booking William Gibson goes into the book for unsporting behaviour.86:29
William Gibson challenges Paul McGowan unfairly and gives away a free kick.82:55
Free kick taken by Liam Craig.82:55 Substitution
Substitution Jon McShane on for Steven Thompson.82:55
Jim Goodwin is penalised for handball and concedes a free kick.80:34
Liam Craig produces a cross, Cillian Sheridan takes a shot. Craig Samson makes a save. Inswinging corner taken from the left by-line by William Gibson.79:45
Centre by William Gibson, clearance made by Jeroen Tesselaar.79:05
Free kick awarded for an unfair challenge on Liam Craig by Paul McGowan. Liam Craig restarts play with the free kick.77:05
Peter Enckelman takes the indirect free kick.77:05 Substitution
Substitution Paul McGowan replaces Nigel Hasselbaink.77:05
The offside flag is raised against Steven Thompson.76:43
Free kick awarded for a foul by David MacKay on Kenny McLean. Jeroen Tesselaar takes the free kick.75:55
Jim Goodwin challenges William Gibson unfairly and gives away a free kick. Free kick taken by Liam Craig.75:23
Gary Teale takes a shot. Save by Peter Enckelman.74:56
Cillian Sheridan crosses the ball, clearance by Jeroen Tesselaar.74:12
The ball is delivered by David van Zanten. The assistant referee signals for offside against Steven Thompson. Peter Enckelman restarts play with the free kick.
A cross is delivered by Alan Maybury, Lee Mair manages to make a clearance.73:41
Gary Teale sends in a cross.73:01
Unfair challenge on Kenny McLean by David MacKay results in a free kick. Craig Samson restarts play with the free kick.71:27
The official flags Gary Teale offside. Peter Enckelman takes the indirect free kick.71:05
Jeroen Tesselaar produces a cross, Liam Craig makes a clearance.69:43
Francisco Sandaza takes a shot. Save made by Craig Samson.66:22
David MacKay handles the ball and concedes a free kick. Direct free kick taken by Jeroen Tesselaar.65:04
Chris Millar has an effort at goal from outside the area which goes wide right of the goal.62:37
Cillian Sheridan is ruled offside. Craig Samson restarts play with the free kick.61:07
Kenny McLean produces a cross, Steven Anderson manages to make a clearance. Outswinging corner taken by Kenny McLean.59:36
Marc McAusland fouled by Cillian Sheridan, the ref awards a free kick. Craig Samson takes the free kick.58:45
The referee blows for offside against Steven Thompson. Peter Enckelman restarts play with the free kick.58:23
Unfair challenge on Steven Thompson by Steven Anderson results in a free kick. Gary Teale restarts play with the free kick.57:57
Alan Maybury produces a cross.55:48
A cross is delivered by William Gibson, Cillian Sheridan takes a shot. Save by Craig Samson.55:16
Steven Anderson challenges Lee Mair unfairly and gives away a free kick. Craig Samson restarts play with the free kick.54:30
Foul by Lee Mair on Cillian Sheridan, free kick awarded. Free kick taken by William Gibson.54:03
David MacKay takes a shot. Craig Samson makes a save.51:42
Unfair challenge on Steven Thompson by David McCracken results in a free kick. Marc McAusland restarts play with the free kick. Pass corner from left by-line crossed in by Gary Teale, Steven Anderson manages to make a clearance.50:45
A cross is delivered by Nigel Hasselbaink, clearance made by David McCracken.48:24
Nigel Hasselbaink has an effort at goal from just outside the box which goes wide of the left-hand upright.46:42
Craig Samson restarts play with the free kick.46:42 Booking
Booking The referee books Francisco Sandaza for unsporting behaviour.46:34
Handball decision goes against Francisco Sandaza.45:01
The referee gets the second half started.45:01 Substitution
Substitution William Gibson joins the action as a substitute, replacing Sean Higgins.45:01 Substitution
Substitution David Robertson comes on in place of Jamie Adams.45:00 +1:04 Half time
Half Time The first half comes to an end.44:28 Goal scored
Goal! - Jim Goodwin - St J'stone 0 - 2 St Mirren Jim Goodwin finds the back of the net with a goal from just outside the box to the top left corner of the goal. St Johnstone 0-2 St Mirren.43:51
Sean Higgins concedes a free kick for a foul on Marc McAusland. Direct free kick taken by Craig Samson.41:43
Unfair challenge on Steven Thompson by David McCracken results in a free kick. Kenny McLean takes the direct free kick.40:58
Nigel Hasselbaink fouled by Alan Maybury, the ref awards a free kick. Free kick taken by David van Zanten.39:42
Chris Millar is flagged offside by the assistant referee. Craig Samson restarts play with the free kick.38:12 Goal scored
Goal! - Jamie Adams - St J'stone 0 - 1 St Mirren Headed own goal by Jamie Adams. St Johnstone 0-1 St Mirren.36:29
Shot from just outside the box by Steven Thompson misses to the left of the target.35:34
Chris Millar produces a right-footed shot from just outside the box that misses to the right of the net.34:45
Steven Thompson delivers the ball, Nigel Hasselbaink takes a shot. Peter Enckelman makes a save.34:07
Shot from long distance by Alan Maybury misses to the right of the target.33:33
Free kick awarded for a foul by Kenny McLean on Chris Millar. Chris Millar takes the free kick.32:37
Free kick taken by Lee Mair.32:37 Booking
Booking The referee books David MacKay for unsporting behaviour.32:28
Kenny McLean fouled by David MacKay, the ref awards a free kick.31:28
The ball is crossed by Chris Millar, Jim Goodwin gets a block in. Corner taken right-footed by David MacKay, clearance by Marc McAusland.30:22
Craig Samson takes the direct free kick.30:22 Booking
Booking Jamie Adams shown a yellow card.30:03
Free kick awarded for an unfair challenge on Jeroen Tesselaar by Jamie Adams.28:59
Foul by Steven Thompson on Chris Millar, free kick awarded. Free kick taken by David MacKay.27:21
The offside flag is raised against Cillian Sheridan. Craig Samson restarts play with the free kick.25:14
David van Zanten takes a shot. Save by Peter Enckelman.25:00
Jeroen Tesselaar crosses the ball. The ball is swung over by Nigel Hasselbaink.24:44
Steven Thomson delivers the ball.23:45
Nigel Hasselbaink takes a shot. Save by Peter Enckelman.22:08
Gary Teale takes a shot. Save by Peter Enckelman.21:02
Francisco Sandaza takes a shot. Blocked by Lee Mair. Liam Craig takes a shot. Save made by Craig Samson.19:13 Substitution
Substitution David McCracken is brought on as a substitute for Frazer Wright.18:21
Liam Craig produces a left-footed shot from just outside the box that misses to the right of the goal.16:36
Kenny McLean takes a shot. Save by Peter Enckelman. Outswinging corner taken from the left by-line by Kenny McLean. Steven Thompson challenges Steven Anderson unfairly and gives away a free kick. Peter Enckelman takes the free kick.15:28
The ball is swung over by Steven Thomson, clearance by Jamie Adams. Corner taken right-footed by Gary Teale from the right by-line, save by Peter Enckelman.13:44
Free kick awarded for a foul by Cillian Sheridan on Jim Goodwin. Direct free kick taken by Jim Goodwin.12:51
Nigel Hasselbaink concedes a free kick for a foul on David MacKay. Peter Enckelman restarts play with the free kick.11:07
Centre by David MacKay, clearance by Jeroen Tesselaar. Corner from right by-line crossed in by Liam Craig, save made by Craig Samson.8:45
A cross is delivered by Sean Higgins, Craig Samson makes a save.7:54
The ball is delivered by Gary Teale, Steven Anderson gets a block in.6:56
Kenny McLean takes a shot. Peter Enckelman makes a save.5:28
Outswinging corner taken left-footed by Gary Teale, clearance made by David MacKay.5:12
The ball is delivered by Steven Thomson, Alan Maybury gets a block in.2:45
The ball is swung over by Cillian Sheridan.0:00
The referee gets the match started.
Live data and text provided by our data suppliers