Dundee United stretched their unbeaten run to five games with a dull draw against St Mirren in Paisley, where midfielder John Rankin saw red late on.
A drab first half was brightened by some silky wing play from Gary Teale.
In the second period it was more open, with Dougie Imrie's half-volley for Saints and Craig Samson's save from Michael Gardyne the highlights.
Rankin was sent off for a two-footed tackle on John McGinn with a couple of minutes left.
With a week to go before St Mirren have their day at Hampden for the Scottish Communities League Cup Final, excitement is building.
However, that fervour has been tempered by recent league form being the wrong side of average, underlined by a disappointing defeat to bottom club Dundee midweek.
A win against Dundee Utd here was vital to keep alive any faint hopes of a top six finish.
But therein lies the problem, because Saints have not beaten United at home since 2001. Ironically, St Mirren icon Steven Thompson scored for the visitors that day.
The main oohs and ahhhs in this contest early on were in response to two heavy challenges from the hosts.
Referee John Beaton's yellow cards were given an early airing to both Conor Newton and Graham Carey after bringing down Richie Ryan and Gary Mackay-Steven respectively.
Mackay-Steven's Scotland call-up put him under the spotlight more than usual, but St Mirren had their own tricky, blonde winger in Teale, and he whipped in an inviting ball which Thompson narrowly failed to get his head to as the first half reached it's midway point.
What Scottish football has learned about St Mirren's Esmael Goncalves is that when he plays, he normally scores. He almost did again on 32 minutes when Ryan's misplaced pass was collected and sent goalward by the Portuguese striker.
The second-half began with the visitors showing more attacking threat as Armstrong drove a 20-yarder over and Rory Boulding fired wide on the turn.
Saints' sub Jon Robertson, on for Newton, shot high from Paul McGowan's lay-off to further convince the crowd it might be a more open half.
Goncalves then benefited from a snaking run by McGowan to curl side-footed straight into Cierzniak's arms.
As the game moved into its last 20 minutes, there was no doubt United's most impressive player of the afternoon was Armstrong. He was involved again in setting up Barry Douglas and Gardyne, the latter's chance curling just wide with Samson rooted to the spot.
St Mirren's Imrie was next to draw a gasp from the crowd, his half-volley narrowly missing the bar after coming on for Thompson.
Samson was on hand to rescue Saints on 80 minutes, saving brilliantly point-blank from Gardyne following a scramble at a United corner.
Then, with minutes remaining, the game got a red card instead of a goal.
It was Rankin's two-footed crunching tackle on McGinn which saw referee Beaton take action.
The Tangerines go five games unbeaten while St Mirren's point means Dundee failed to make up more ground on them at the bottom.
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +1:25
Corner taken right-footed by Willo Flood from the left by-line, clearance made by Marc McAusland.90:00 +0:52
Sam Parkin challenges Barry Douglas unfairly and gives away a free kick.90:00 +0:19
Robert Thomson concedes a free kick for a foul on John McGinn. Direct free kick taken by Graham Carey.89:52
Graham Carey takes the chance to get an effort at goal. Save by Radoslaw Cierzniak.89:32
The ball is sent over by David van Zanten, clearance by Marcus Tornstrand.87:54
Graham Carey fires a strike on goal direct from the free kick.87:54 Dismissal
Dismissal John Rankin receives a red card for violent conduct.87:27
The ball is crossed by Dougie Imrie, clearance by Sean Dillon. Foul by John Rankin on John McGinn, free kick awarded.86:49
Free kick awarded for an unfair challenge on Jon Robertson by Robert Thomson. Direct free kick taken by David van Zanten.86:32
The referee blows for offside. Craig Samson takes the free kick.85:16
The ball is crossed by Dougie Imrie, save made by Radoslaw Cierzniak.84:43
Sam Parkin fouled by John Rankin, the ref awards a free kick. The free kick is swung in right-footed by David van Zanten, clearance made by Sean Dillon.84:05
Keith Watson crosses the ball, Stuart Armstrong has a header from inside the six-yard box and clears the crossbar.82:42
Keith Watson crosses the ball, clearance by Marc McAusland.81:03
Esmael Goncalves concedes a free kick for a foul on Marcus Tornstrand. Willo Flood takes the direct free kick.80:04
Inswinging corner taken by Barry Douglas, Gary Mackay-Steven has an effort at goal. Fantastic save by Craig Samson.79:42
Centre by Keith Watson, Marc McAusland makes a clearance.78:41
Willo Flood fouled by Esmael Goncalves, the ref awards a free kick. Willo Flood takes the free kick.76:56
Free kick awarded for a foul by Paul Dummett on Michael Gardyne. Shot comes in from Barry Douglas from the free kick.
The ball is swung over by Gary Teale, Dougie Imrie has an effort at goal from close in which goes wide right of the target.72:57
Graham Carey takes a shot. Save by Radoslaw Cierzniak.72:57 Substitution
Substitution Paul McGowan leaves the field to be replaced by Sam Parkin.72:57
Foul by Marcus Tornstrand on Dougie Imrie, free kick awarded.71:44
Stuart Armstrong has a shot on goal from outside the box which misses left.70:06
Michael Gardyne has an effort from just inside the box that misses to the left of the target.69:49
Keith Watson delivers the ball, clearance by Marc McAusland.69:05
The ball is delivered by Paul McGowan, Gary Teale produces a header from deep inside the six-yard box that clears the bar.67:07 Substitution
Substitution Dougie Imrie joins the action as a substitute, replacing Steven Thompson.67:07 Substitution
Substitution Robert Thomson comes on in place of Rory Boulding.67:07 Substitution
Substitution Richie Ryan goes off and Michael Gardyne comes on.66:44
Barry Douglas produces a left-footed shot from close in which goes wide of the right-hand upright.65:01
Shot by John McGinn from just outside the area goes over the net.64:35
Graham Carey sends in a cross, clearance made by Marcus Tornstrand.61:36
Free kick awarded for an unfair challenge on Steven Thompson by Marcus Tornstrand. Graham Carey has an effort direct from the free kick.60:41
The ball is delivered by Keith Watson.59:46
Esmael Goncalves takes a shot. Save by Radoslaw Cierzniak.59:07
The ball is crossed by Keith Watson, clearance made by Paul Dummett.58:37
Esmael Goncalves takes a shot. Blocked by Richie Ryan.58:00
Rory Boulding takes a shot. Craig Samson makes a save.56:04 Substitution
Substitution Brian McLean leaves the field to be replaced by Marcus Tornstrand.54:39
David van Zanten delivers the ball, Keith Watson manages to make a clearance.53:27
John McGinn produces a cross, clearance by Barry Douglas.51:54
The ball is crossed by Gary Teale, Jon Robertson takes a shot from just outside the penalty area clears the crossbar.50:40
Effort on goal by Rory Boulding from deep inside the penalty area misses to the right of the target.49:55
Unfair challenge on Keith Watson by Esmael Goncalves results in a free kick. Direct free kick taken by Willo Flood.48:20
The ball is delivered by Paul McGowan, Sean Dillon manages to make a clearance.47:51
Keith Watson delivers the ball, David van Zanten manages to make a clearance.46:09
Stuart Armstrong produces a left-footed shot from just outside the penalty area that goes harmlessly over the target.45:02
Inswinging corner taken by Gary Teale from the left by-line played to the near post.45:01
The second half has started.45:01 Substitution
Substitution Jon Robertson comes on in place of Conor Newton.45:00 +0:26 Half time
Half Time The players leave the pitch at half time.45:00 +0:01
Gary Teale takes a shot. Radoslaw Cierzniak makes a save.44:12
Graham Carey concedes a free kick for a foul on Keith Watson. Barry Douglas crosses the ball in from the free kick, clearance by David van Zanten.43:17
Rory Boulding takes a shot. Save by Craig Samson.42:15
Gary Teale produces a cross, Header by Esmael Goncalves from deep inside the penalty area misses to the left of the target.41:52
Centre by Graham Carey.40:26
Free kick awarded for an unfair challenge on Sean Dillon by Steven Thompson. Sean Dillon restarts play with the free kick.38:58
John McGinn takes a shot. Brian McLean gets a block in. Gary Teale sends in a cross. The assistant referee signals for offside against Rory Boulding. Paul Dummett takes the direct free kick.37:45
Graham Carey delivers the ball, clearance made by Sean Dillon.37:04
Inswinging corner taken by Graham Carey, Brian McLean manages to make a clearance.35:14
Gary Teale sends in a cross, clearance made by Keith Watson. Shot by Paul McGowan from 12 yards. Save by Radoslaw Cierzniak.34:32
The ball is swung over by Gary Teale, Esmael Goncalves takes a shot. Clearance made by Brian McLean.34:05
Corner taken by Gary Teale, clearance made by Sean Dillon.33:46
Esmael Goncalves takes a shot. Blocked by Brian McLean.32:37
Rory Boulding is caught offside. Free kick taken by Craig Samson.30:56
The ball is crossed by Gary Teale, John Rankin manages to make a clearance. Corner taken by Graham Carey from the right by-line, clearance by Keith Watson.29:30
Rory Boulding challenges Paul McGowan unfairly and gives away a free kick. Graham Carey takes the direct free kick.28:51
Free kick awarded for a foul by Brian McLean on Esmael Goncalves. The free kick is swung in left-footed by Graham Carey, clearance made by Keith Watson.28:13
Paul McGowan has an effort at goal from outside the box which goes wide left of the goal.27:55
The ball is crossed by Gary Teale.26:16
Stuart Armstrong produces a cross.26:00
The ball is sent over by Barry Douglas, blocked by David van Zanten.24:05
Inswinging corner taken right-footed by Gary Teale, Radoslaw Cierzniak makes a comfortable save.23:08
The ball is delivered by Barry Douglas, Marc McAusland makes a clearance.19:46
The ball is swung over by Gary Teale. Inswinging corner taken by Gary Teale from the left by-line, Shot by Graham Carey from outside the box goes over the net.19:20
Esmael Goncalves fouled by Willo Flood, the ref awards a free kick. Graham Carey takes the direct free kick.18:34
The ball is crossed by David van Zanten, Sean Dillon fouled by Steven Thompson, the ref awards a free kick. Radoslaw Cierzniak takes the free kick.16:28
Unfair challenge on Willo Flood by Graham Carey results in a free kick. Richie Ryan restarts play with the free kick.16:11
The ball is swung over by Esmael Goncalves, comfortable save by Radoslaw Cierzniak.14:34
A cross is delivered by Gary Mackay-Steven, blocked by Marc McAusland. Inswinging corner taken by Willo Flood, Graham Carey makes a clearance.8:38
Direct free kick taken by Brian McLean.8:38 Booking
Booking Graham Carey shown a yellow card.8:14
The ball is sent over by John McGinn, Sean Dillon manages to make a clearance. Graham Carey concedes a free kick for a foul on Gary Mackay-Steven.7:52
Graham Carey delivers the ball, clearance made by Brian McLean.6:42
The ball is swung over by Gary Teale, Brian McLean manages to make a clearance.4:06
Gary Teale crosses the ball, clearance by Sean Dillon.3:06
Gary Teale fouled by Barry Douglas, the ref awards a free kick. Gary Teale restarts play with the free kick.2:01
Free kick awarded for a foul by Paul McGowan on Rory Boulding. Radoslaw Cierzniak takes the free kick.0:49 Booking
Booking Conor Newton is cautioned by the ref for unsporting behaviour.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers