Jon Parkin came off the bench to give in-form Scunthorpe victory over relegation-threatened Exeter.
The visitors' Lauri Dalla Valle spurned a great chance when he headed straight at keeper Sam Slocombe from close in.
The woodwork then denied the Iron twice in quick succession when Josh Walker's strike came back off the bar before Jimmy Ryan's effort struck the post.
Scunthorpe, though, finally got the breakthrough when Jamie Reckford cut back to Parkin who fired home.
The hosts could have had more had it not been for Grecians keeper Artrur Krysiak, who twice pulled off fine saves to keep out on-loan striker Conor McAleny.
Defeat leaves Exeter eight points adrift of safety whilst Scunthorpe, who remain unbeaten in nine league games, move seven points clear of the relegation zone.
VIEWS FROM THE DRESSING ROOM
Scunthorpe United boss Alan Knill told BBC Radio Humberside:
"I'm delighted with the result - it was a tough game, and with the greatest of respect we played Chesterfield last week, Exeter this week; they really have nothing to lose, they have to go for it to get the points, so they're always dangerous on the counter attack.
"I thought the second half that we were dangerous; a lot more than the first half, and could have had more goals, but we just needed the one to take the points.
"We just decided to throw Jon (Parkin) on, and he just brings a presence and thankfully brought a goal."
Exeter City manager Paul Tisdale told BBC Radio Devon:
"I think we played with a lot of cohesion and purpose.
"I'm bitterly disappointed because the performance was very good, we just failed to score and conceded a goal at the wrong time.
"It's hard to fault that first hour in terms of how we approached the game, against a very hard working and creative opposition.
"It's not over until it's over, we can only try to win the next game."
Live Text Commentary
Full Time The final whistle is blown by the referee.89:47
Effort from the edge of the box by Conor McAleny goes wide of the right-hand upright.89:27
The referee blows for offside against Troy Archibald-Henville. Sam Slocombe restarts play with the free kick.87:04
James Dunne produces a left-footed shot from outside the penalty box and misses wide left of the target.85:25
Shot from 25 yards from Alan Gow. David Mirfin gets a block in. Outswinging corner taken right-footed by Daniel Nardiello played to the near post, clearance made by David Mirfin. Outswinging corner taken left-footed by Billy Jones played to the near post, Jimmy Ryan makes a clearance.83:58
Effort from deep inside the area by Andy Barcham misses to the right of the goal.83:09
Sam Togwell fouled by Richard Logan, the ref awards a free kick. Josh Walker takes the free kick.81:50
Andy Barcham crosses the ball, David Noble makes a clearance.80:36
Foul by Pat Baldwin on Conor McAleny, free kick awarded. Jamie Reckord takes the free kick.77:56
The official flags Daniel Nardiello offside. Indirect free kick taken by Sam Slocombe.77:26 Substitution
Substitution Alan Gow on for Jamie Cureton.75:45
Assist by Jamie Reckord.75:45 Goal scored
Goal! - Jon Parkin - Scunthorpe 1 - 0 Exeter Jon Parkin gets on the score sheet with a goal from just inside the penalty area to the bottom right corner of the goal. Scunthorpe 1-0 Exeter.72:17
Jamie Reckord concedes a free kick for a foul on Jake Taylor. Strike comes in from Billy Jones from the free kick, save by Sam Slocombe. Corner taken by Billy Jones from the right by-line.71:20
Cliff Byrne produces a cross, Steve Tully manages to make a clearance. Corner taken by Josh Walker played to the near post, James Dunne manages to make a clearance.69:31
Clearance by Josh Walker.69:31 Substitution
Substitution Daniel Nardiello is brought on as a substitute for Liam Sercombe.69:31
Liam Sercombe has an effort at goal. Save made by Sam Slocombe. David Noble takes a inswinging corner from the right by-line to the near post,69:16
A cross is delivered by Andy Barcham, save by Artur Krysiak.68:14
Liam Sercombe concedes a free kick for a foul on David Mirfin. Sam Slocombe restarts play with the free kick.
The ball is sent over by Jimmy Ryan, save by Artur Krysiak.66:48 Substitution
Substitution Jon Parkin comes on in place of Jordan Robertson.66:22
Shot from 18 yards by Conor McAleny. Save made by Artur Krysiak.65:41
Effort from just inside the area by Jimmy Ryan strikes the post.65:03
The offside flag is raised against Jamie Cureton. Sam Slocombe takes the free kick.64:33
Conor McAleny takes a shot. Blocked by Artur Krysiak. Effort on goal by Jimmy Ryan from 18 yards. Save by Artur Krysiak.62:32
Free kick awarded for a foul by Sam Togwell on Jake Taylor. David Noble shoots direct from the free kick, save by Sam Slocombe. Inswinging corner taken from the right by-line by Billy Jones.61:12 Substitution
Substitution Richard Logan on for Lauri Dalla Valle.61:12
Jamie Cureton is ruled offside. Sam Slocombe restarts play with the free kick.60:39
Corner taken right-footed by David Noble from the left by-line to the near post, clearance made by Sam Togwell.60:22
Jake Taylor takes a shot. Blocked by David Mirfin.59:19
The ball is crossed by Josh Walker, Artur Krysiak makes a save.57:48
Steve Tully delivers the ball, save by Sam Slocombe.56:52
Effort from the edge of the box by Andy Barcham goes wide of the left-hand upright.55:39
Corner from the right by-line taken by Josh Walker, save made by Artur Krysiak.54:39
Conor McAleny has an effort at goal from 12 yards. Save made by Artur Krysiak.53:53
Foul by Lauri Dalla Valle on David Mirfin, free kick awarded. Direct free kick taken by David Mirfin.52:59
Josh Walker takes a shot.51:46
Foul by James Dunne on Andy Barcham, free kick awarded. Sam Slocombe takes the free kick.49:46
Jordan Robertson concedes a free kick for a foul on Troy Archibald-Henville. Direct free kick taken by David Noble.49:35 Substitution
Substitution Sam Togwell joins the action as a substitute, replacing Damien Mozika.46:08
The official flags Jamie Cureton offside. Sam Slocombe takes the free kick.45:01
The referee blows his whistle to start the second half.45:00 +1:37 Half time
Half Time The referee calls an end to the first half.45:00 +1:18
David Mirfin concedes a free kick for a foul on Pat Baldwin. Artur Krysiak takes the free kick.45:00 +0:28
Corner taken right-footed by Josh Walker, Artur Krysiak makes a save.44:15
Foul by Troy Archibald-Henville on Josh Walker, free kick awarded. Josh Walker delivers the ball, Cliff Byrne takes a shot. Save by Artur Krysiak.43:56
The ball is sent over by Jimmy Ryan, clearance by Troy Archibald-Henville.42:53
Effort on goal by Jamie Cureton from just inside the penalty area goes over the target.38:15
Jordan Robertson is ruled offside. Artur Krysiak takes the indirect free kick.37:47
The official flags James Dunne offside. Sam Slocombe takes the free kick.36:51
David Mirfin gives away a free kick for an unfair challenge on Jamie Cureton. Free kick crossed by Billy Jones, clearance by Josh Walker.36:01
Jordan Robertson sends in a cross.35:03
Pat Baldwin concedes a free kick for a foul on Conor McAleny. Direct free kick taken by David Mirfin.33:15
Unfair challenge on Cliff Byrne by Lauri Dalla Valle results in a free kick. Sam Slocombe restarts play with the free kick.32:51
Jamie Cureton takes a shot. Cliff Byrne gets a block in.31:21
Troy Archibald-Henville fouled by Jordan Robertson, the ref awards a free kick. Troy Archibald-Henville takes the direct free kick.28:35
James Dunne has an effort at goal from outside the area missing to the wide right of the target.26:49
Outswinging corner taken from the right by-line by David Noble, Jimmy Ryan manages to make a clearance.25:57
Free kick awarded for an unfair challenge on Pat Baldwin by Jordan Robertson. Artur Krysiak takes the direct free kick.24:21
Free kick awarded for an unfair challenge on Josh Walker by Liam Sercombe. The ball is sent over by Josh Walker, Headed effort from deep inside the area by Cliff Byrne misses to the left of the goal.22:34
Corner from the left by-line taken by Josh Walker, David Mirfin takes a shot. Save by Artur Krysiak. Outswinging corner taken from the right by-line by Josh Walker, save by Artur Krysiak.20:11
Free kick awarded for an unfair challenge on Pat Baldwin by Jordan Robertson. David Noble takes the free kick.18:11
The ball is swung over by Andy Barcham, Pat Baldwin manages to make a clearance.14:33
The offside flag is raised against Conor McAleny. Free kick taken by Artur Krysiak.14:02
Free kick awarded for an unfair challenge on Cliff Byrne by Lauri Dalla Valle. Cliff Byrne restarts play with the free kick.13:40
A cross is delivered by James Dunne, Lauri Dalla Valle takes a shot. Save made by Sam Slocombe.12:05
Josh Walker produces a cross, Pat Baldwin makes a clearance.10:33
Free kick awarded for an unfair challenge on Jordan Robertson by Pat Baldwin. Josh Walker sends in a cross, Cliff Byrne takes a shot. Save by Artur Krysiak. Inswinging corner taken right-footed by Josh Walker from the left by-line, clearance by Troy Archibald-Henville.8:17
Foul by Jordan Robertson on Troy Archibald-Henville, free kick awarded. David Noble takes the direct free kick.7:21
Corner taken by David Noble from the right by-line to the near post, James Dunne produces a header from inside the six-yard box that clears the bar.5:47
Shot from 25 yards by Liam Sercombe. Blocked by David Mirfin.3:13
Lauri Dalla Valle concedes a free kick for a foul on David Mirfin. Direct free kick taken by Sam Slocombe.2:19
Free kick awarded for a foul by Lauri Dalla Valle on Damien Mozika. The free kick is delivered left-footed by Jamie Reckord from left wing.1:19
Corner taken by Josh Walker from the left by-line to the near post, clearance by Troy Archibald-Henville.0:20
Corner from the right by-line taken by Josh Walker, Pat Baldwin makes a clearance.0:00
The match begins.
Live data and text provided by our data suppliers