Ian Sharps's header secured three points for Rotherham United at the expense of play-off rivals Exeter City.
The Millers defender glanced home a corner from Ben Pringle just before half-time, after Alan Gow earlier struck the crossbar for the hosts.
Mitchell Rose was sent off in the second half for a foul on Aaron Dawson to leave Rotherham down to 10 men.
Despite Grecians pressure, Andy Warrington was comfortable in the visitors goal, saving from Matt Oakley.
VIEWS FROM THE DRESSING ROOM
Exeter manager Paul Tisdale told BBC Radio Devon:
"I loved the game today and I have no criticism of the players' commitment.
"We conceded the first goal and it becomes so hard to score.
"Going into the second half of the season, we need to make sure it happens less frequently than it has done this season so far."
Rotherham United manager Steve Evans told BBC Radio Sheffield:
"The rollercoaster continues, we've had the good, the bad and we've not had the ugly yet.
"The ugly is when you don't play particularly well (and win).
"It's a big win, you have to respect Exeter as a team and the manager. They've beaten Bradford away and the league leaders.
"We said to the players, we would settle for a thoroughly professional 1-0 victory where we worked hard and had a disciplined shape."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +4:39
Ben Pringle fouled by Matt Oakley, the ref awards a free kick. Direct free kick taken by Michael O'Connor.90:00 +3:05
Danny Coles challenges Ben Pringle unfairly and gives away a free kick. Ian Sharps takes the direct free kick.90:00 +2:16
Free kick taken by Matt Oakley.90:00 +2:16 Booking
Booking The referee shows Alex Revell a yellow card for unsporting behaviour.90:00 +2:04
Aaron Dawson fouled by Alex Revell, the ref awards a free kick.90:00 +0:12
Matt Oakley takes a shot. Save by Andy Warrington.90:00 +0:12 Substitution
Substitution Jack O'Connell on for Courtney Cameron.90:00 +0:12 Dismissal
Dismissal Red card for Mitchell Rose.90:00
Mitchell Rose challenges Aaron Dawson unfairly and gives away a free kick.88:09 Substitution
Substitution Aaron Dawson replaces Steve Tully.86:00
The official flags Alex Revell offside. Free kick taken by Artur Krysiak.85:18 Substitution
Substitution Mitchell Rose comes on in place of Daniel Nardiello.84:44
Alan Gow takes a shot. Andy Warrington makes a save.83:17
The free kick is swung in left-footed by Alan Gow.83:17 Booking
Booking Liam Ridehalgh goes into the book.82:59
Free kick awarded for an unfair challenge on Alan Gow by Daniel Nardiello.82:29
Pat Baldwin fouled by Alex Revell, the ref awards a free kick. Direct free kick taken by Danny Coles.78:44
Corner taken left-footed by Alan Gow from the right by-line, clearance made by Ian Sharps.77:25
Ben Pringle challenges Jordan Moore-Taylor unfairly and gives away a free kick. Free kick taken by Jordan Moore-Taylor.
Corner from right by-line taken by Ben Pringle.66:44
John O'Flynn is caught offside. Direct free kick taken by Andy Warrington.65:31
Steve Tully concedes a free kick for a foul on Daniel Nardiello. Free kick crossed by Liam Ridehalgh, save by Artur Krysiak.61:21
The official flags John O'Flynn offside. Andy Warrington takes the free kick.60:07
Short corner taken by Liam Sercombe from the left by-line.59:56
Alan Gow takes a shot. Save by Andy Warrington.58:52 Substitution
Substitution John O'Flynn on for Jimmy Keohane.54:51
Liam Ridehalgh restarts play with the free kick.54:51 Booking
Booking Booking for Scot Bennett for unsporting behaviour.54:42
Foul by Scot Bennett on Alex Revell, free kick awarded.54:16
Corner taken left-footed by Alan Gow from the right by-line, clearance made by Johnny Mullins.54:00
Free kick awarded for an unfair challenge on Liam Sercombe by Daniel Nardiello. Liam Sercombe takes the direct free kick.51:04
Jimmy Keohane produces a right-footed shot from just outside the penalty area that goes harmlessly over the target.49:02
The referee blows for offside. Artur Krysiak restarts play with the free kick.45:01
The second half begins.45:00 +1:07 Half time
Half Time The referee calls an end to the first half.43:40
Corner taken right-footed by Michael O'Connor from the left by-line, save by Artur Krysiak.41:14
The assist for the goal came from Ben Pringle.41:14 Goal scored
Goal! - Ian Sharps - Exeter 0 - 1 Rotherham Ian Sharps finds the back of the net with a headed goal from inside the penalty area. Exeter 0-1 Rotherham.41:03
Inswinging corner taken by Ben Pringle from the right by-line,40:24
Inswinging corner taken by Michael O'Connor, Johnny Mullins takes a shot. Save by Artur Krysiak.36:19
Courtney Cameron gives away a free kick for an unfair challenge on Jordan Moore-Taylor. Danny Coles restarts play with the free kick.31:21
The assistant referee flags for offside against Daniel Nardiello. Artur Krysiak takes the free kick.29:46
Unfair challenge on Jimmy Keohane by Michael O'Connor results in a free kick. Alan Gow crosses the ball, Headed effort on goal by Pat Baldwin from just inside the box goes harmlessly over the target.29:17 Substitution
Substitution Tommy Doherty leaves the field to be replaced by Jimmy Keohane.25:56
Alan Gow has an effort at goal from 25 yards.21:57
Free kick awarded for an unfair challenge on Artur Krysiak by Alex Revell. Artur Krysiak restarts play with the free kick.21:09
Jamie Cureton takes a shot. Save by Andy Warrington.19:34
Unfair challenge on Courtney Cameron by Tommy Doherty results in a free kick. Direct free kick taken by Ben Pringle, Michael O'Connor takes a shot. Save by Artur Krysiak.15:40
Inswinging corner taken by Michael O'Connor from the left by-line.14:25
Corner taken by Liam Sercombe.13:43
Unfair challenge on Tommy Doherty by Courtney Cameron results in a free kick. Liam Sercombe crosses the ball in from the free kick.11:08
Courtney Cameron takes a shot. Danny Coles gets a block in.9:02
Jamie Cureton takes a shot. Save made by Andy Warrington.8:36
Corner taken by Ben Pringle from the right by-line to the near post, Danny Coles makes a clearance.6:38
Jason Taylor has an effort at goal from just outside the box which goes wide of the left-hand upright.6:06
Inswinging corner taken left-footed by Ben Pringle from the right by-line, Artur Krysiak makes a save.4:35
Corner taken by Alan Gow.3:33
Inswinging corner taken left-footed by Ben Pringle played to the near post, clearance by Pat Baldwin.2:43
The official flags Jamie Cureton offside. Free kick taken by Andy Warrington.0:00
The game gets underway.
Live data and text provided by our data suppliers