Neil Harris fired in a late free-kick to earn Millwall their fifth successive victory and extend Exeter's winless run to five games.
The match looked to be heading for a stalemate after a string of fine saves from visiting goalkeeper Andy Marriott.
But Harris stepped up to net his ninth goal of the season after Jonathan Obika was fouled.
Exeter's misery was compounded when Barry Corr was sent off in the closing stages for a professional foul.
Millwall boss Kenny Jackett told BBC London 94.9:
"They were very hard to break down, particularly until late in the game, where they opened up a bit.
"It made it tough but we came through at the end and a terrific win for us in the end, especially if you looking around the country at other results."
Exeter City manager Paul Tisdale told BBC Radio Devon:
"It's so disappointing to have conceded that late goal and I've got a very disappointed dressing room.
"We have to take all of the positives from the game, of which there are plenty, and remind ourselves that this is one of the hardest places to come to in this league.
"We have to be objective about this, but I don't think we'll play many teams as good as Millwall between now and the end of the season."
Live text and stats
Saturday, 13 February 2010
League One
Home Team
Score
Away Team
Time
Millwall
1-0
Exeter
FT
(HT 0-0)
Harris 81
Millwall
01 Forde
02 Dunne
05 Robinson
15 Craig (Barron 60)
18 Ward
12 Hackett
25 Batt (Obika 67)
26 Abdou
40 Trotter
09 Harris
20 Morison yellow card
Substitutes
13 Sullivan,
03 Frampton,
16 Barron,
27 O'Connor,
19 Grimes,
22 Fuseini,
30 Obika
Exeter
01 Marriott
02 Tully
03 Duffy yellow card
06 Taylor yellow card
11 Golbourne
15 Edwards
07 Harley
22 Sercombe
28 Burnell (Fleetwood 61)
12 Corr red card
16 Stewart (Cozic 15 yellow card) (Logan 84)
Substitutes
27 Jones,
26 Bennett,
14 Cozic,
18 Saunders,
21 Dunne,
20 Logan,
45 Fleetwood
Ref: Phil GibbsAtt: 9,104
MILLWALL
EXETER
Possession
Millwall55%
Exeter45%
Attempts on target
Millwall10
Exeter0
Attempts off target
Millwall4
Exeter3
Corners
Millwall6
Exeter0
Fouls
Millwall13
Exeter14
Final Result
Full Time
90:00+4:08 The final whistle goes and the game is over.
90:00+1:45 Free kick awarded for an unfair challenge on Richard Logan by Alan Dunne. Rob Edwards takes the direct free kick.
89:53 Unfair challenge on Chris Hackett by Richard Logan results in a free kick. Paul Robinson takes the free kick.
88:15 Free kick taken by David Forde.
88:15 Sent off The referee shows Barry Corr a red card.
88:06 Free kick awarded for a foul by Barry Corr on Alan Dunne.
86:13 Ryan Harley delivers the ball from the free kick right-footed from left channel, save by David Forde.
86:13 Booking The referee shows Steve Morison a yellow card for unsporting behaviour.
86:04 Free kick awarded for a foul by Steve Morison on Scott Golbourne.
83:01 Substitution Richard Logan is brought on as a substitute for Bertrand Cozic.
81:36 Booking Steve Tully receives a caution for unsporting behaviour.
80:25 GOAL - Neil Harris:Millwall 1 - 0 Exeter Neil Harris scores a goal direct from the free kick from outside the area to the top left corner of the goal. Millwall 1-0 Exeter.
80:22 Booking The referee cautions Richard Duffy for unsporting behaviour.
79:48 Booking Matthew Taylor is booked.
79:41 Jonathan Obika fouled by Matthew Taylor, the ref awards a free kick.
78:12 Free kick awarded for a foul by Bertrand Cozic on Nadjim Abdou. Paul Robinson restarts play with the free kick.
75:43 Steve Morison concedes a free kick for a foul on Scott Golbourne. Direct free kick taken by Andy Marriott.
74:58 Steve Morison produces a right-footed shot from deep inside the six-yard box which goes wide of the right-hand upright.
73:58 Steve Morison has a headed effort at goal from just inside the penalty area that misses to the right of the goal.
72:26 Steve Morison takes a shot. Andy Marriott makes a comfortable save.
70:28 Barry Corr gives away a free kick for an unfair challenge on Darren Ward. David Forde takes the free kick.
Correction - 69:44 Steve Morison takes a shot. Clearance by Scott Golbourne.
69:44 Steve Morison takes a shot. Save made by Andy Marriott.
68:24 Stuart Fleetwood produces a right-footed shot from outside the box and misses left.
68:12 Steve Morison takes a shot. Save by Andy Marriott.
67:06 Shot from just outside the area by Stuart Fleetwood misses to the right of the target.
66:18 Substitution Shaun Batt goes off and Jonathan Obika comes on.
66:04 Effort on goal by Stuart Fleetwood from just inside the box goes harmlessly over the target.
65:22 Unfair challenge on Steve Tully by Liam Trotter results in a free kick. The free kick is delivered right-footed by Steve Tully from right channel, clearance by Nadjim Abdou.
64:52 The assistant referee signals for offside against Steve Morison. Direct free kick taken by Steve Tully.
64:22 Neil Harris is flagged offside by the assistant referee. Andy Marriott takes the direct free kick.
63:47 Free kick awarded for a foul by Ryan Harley on Alan Dunne. Free kick crossed by Chris Hackett, clearance by Rob Edwards.
63:01 Inswinging corner taken right-footed by Chris Hackett from the left by-line to the near post.
62:34 Unfair challenge on Nadjim Abdou by Bertrand Cozic results in a free kick. David Forde restarts play with the free kick.
61:52 Chris Hackett produces a left-footed shot from just outside the box that goes wide left of the goal.
59:29 Substitution (Exeter) makes a substitution, with Stuart Fleetwood coming on for Joe Burnell.
59:29 Substitution Tony Craig goes off and Scott Barron comes on.
Correction - 55:25 Shaun Batt takes a shot. Save by Andy Marriott.
55:25 Nadjim Abdou takes a shot. Save by Andy Marriott.
54:42 Neil Harris decides to take a short corner.
53:52 Paul Robinson concedes a free kick for a foul on Barry Corr. Free kick taken by Rob Edwards.
51:25 Foul by Barry Corr on Paul Robinson, free kick awarded. David Forde takes the free kick.
51:08 Steve Morison has a headed effort at goal, Andy Marriott makes a fantastic save.
46:34 Steve Morison takes a shot from just inside the penalty box which clears the bar.
46:10 Free kick awarded for a foul by Ryan Harley on Nadjim Abdou. Free kick crossed by Tony Craig, Joe Burnell manages to make a clearance.
45:20 Steve Morison concedes a free kick for a foul on Richard Duffy. Rob Edwards takes the free kick.
45:01 The referee gets the second half started.
Half Time
45:00+3:16 The referee calls an end to the first half.
45:00+2:22 Unfair challenge on Joe Burnell by Shaun Batt results in a free kick. Steve Tully takes the direct free kick.
41:23 Neil Harris gives away a free kick for an unfair challenge on Matthew Taylor. Free kick taken by Andy Marriott.
40:06 Matthew Taylor gives away a free kick for an unfair challenge on Chris Hackett. The free kick is delivered left-footed by Tony Craig from right channel.
39:47 Free kick awarded for an unfair challenge on Barry Corr by Darren Ward. Free kick taken by Bertrand Cozic.
38:55 The assistant referee signals for offside against Alan Dunne. Andy Marriott takes the free kick.
35:47 Darren Ward is flagged offside by the assistant referee. Direct free kick taken by Andy Marriott.
35:10 Outswinging corner taken by Chris Hackett from the right by-line played to the near post, Steve Tully makes a clearance.
34:34 Corner from the left by-line taken by Chris Hackett, save made by Andy Marriott.
33:54 Barry Corr is caught offside. David Forde takes the direct free kick.
26:36 Barry Corr is flagged offside by the assistant referee. David Forde takes the direct free kick.
24:53 Unfair challenge on Tony Craig by Liam Sercombe results in a free kick. David Forde takes the free kick.
22:06 The offside flag is raised against Barry Corr. David Forde restarts play with the free kick.
Correction - 21:35 Bertrand Cozic concedes a free kick for a foul on David Forde. David Forde takes the direct free kick.
21:35 Unfair challenge on David Forde by Liam Sercombe results in a free kick. Direct free kick taken by David Forde.
Correction - 20:14 The referee blows for offside against Shaun Batt. Direct free kick taken by Rob Edwards.
20:14 The assistant referee signals for offside against Shaun Batt. Rob Edwards takes the direct free kick.
19:25 The assistant referee signals for offside against Barry Corr. Free kick taken by David Forde.
18:27 Free kick awarded for an unfair challenge on Matthew Taylor by Steve Morison. Andy Marriott restarts play with the free kick.
17:00 Joe Burnell gives away a free kick for an unfair challenge on Shaun Batt. Free kick crossed right-footed by Chris Hackett.
14:56 Andy Marriott fouled by Steve Morison, the ref awards a free kick. Direct free kick taken by Andy Marriott.
14:20 Substitution Bertrand Cozic comes on in place of Marcus Stewart.
12:58 The referee blows for offside against Barry Corr. David Forde takes the free kick.
12:32 Shaun Batt takes a shot. Save by Andy Marriott.
11:57 Shaun Batt takes a shot. Save by Andy Marriott.
8:08 Foul by Steve Morison on Liam Sercombe, free kick awarded. Direct free kick taken by Andy Marriott.
4:26 Inswinging corner taken by Tony Craig, Andy Marriott makes a save.
3:57 Outswinging corner taken by Chris Hackett from the right by-line, Shaun Batt takes a shot. Andy Marriott makes a save.
3:45 Steve Morison takes a shot. Andy Marriott makes a save.
Correction - 2:43 Foul by Alan Dunne on Scott Golbourne, free kick awarded. Direct free kick taken by Rob Edwards.
2:43 Free kick awarded for a foul by Alan Dunne on Scott Golbourne. Direct free kick taken by Scott Golbourne.
1:14 Alan Dunne fouled by Scott Golbourne, the ref awards a free kick. Alan Dunne restarts play with the free kick.
0:00 The game kicks-off.
Live text and data provided by The Press Association.
Bookmark with:
What are these?