A third goal in as many games for Jamie Cureton gave the Grecians a win on the road against Bradford City.
Exeter took the lead at the end of the first half through Cureton, and a solid display under increasing pressure in the second half sent the travelling fans back home happy.
Grecians boss Paul Tisdale named a third consecutive unchanged starting line-up, with the only change to the bench being the return of Guillem Bauza in place of Tom Nichols.
Bradford meanwhile had to make a number of changes owing to injuries, including a debut for right-back Tom Naylor.
Exeter were first to create a goalscoring opportunity as Alan Gow whipped in an inswinging corner from the right, but Danny Coles couldn’t get enough purchase on an unchallenged header and the ball sailed wide.
In reaction the hosts forced a scare of their own as Bantams’ captain Gary Jones fired in a free-kick from deep, but James Hanson’s towering header trickled harmlessly past Artur Krysiak’s far post.
Gow in particular was enjoying a roaming role between the lines and picked a pass to Cureton in the left channel. The striker’s curled effort beat the outstretched arms of goalkeeper Matt Duke, but cannoned away off the base of the post.
Krysiak’s reactions were tested when Hanson nodded a direct ball into the path of his busy strike-partner Nahki Wells, and the Polish stopper was alert to claw the 25-yard effort around the post.
Bradford almost made the visitors pay when Jones dispossessed Matt Oakley on the right flank. However Scot Bennett was alert on the recovery as he nipped in to take the ball off of Wells in the box.
Jones was the first to have his name taken by the referee after a cynical trip on Gow, who was causing chaos in front of the hosts’ defensive four, and earning the Grecians a free-kick in a dangerous area. Liam Sercombe struck the dead-ball, but it took a deflection off the wall and bounced away.
Neither team were giving much ground and rarely were either able to gain a clear sight of goal. Sercombe was the first to have an unchallenged effort shortly before the interval, but his shot was always rising.
A deserved breakthrough finally came for Exeter a minute before the break. After circulating the ball well and retaining possession under pressure, the ball found its way to Craig Woodman in an advanced position on the left wing. His deep cross was nodded down by Oakley, and Cureton’s acrobatic strike evaded the reach of Duke and nestled in the bottom corner.
Half-time: Bradford City 0 Exeter City 1
After not making any substitutions in the previous fixture against Fleetwood, Tisdale went for a change of tack as Tommy Doherty was introduced in place of Bennett at half-time.
However it was Bradford’s half-time substitute that nearly made the immediate impact, as Alan Connell floated an effort at goal but the outward curl took it wide of Krysiak’s right-hand post.
Cureton, full of running, nearly profited when Rory McArdle undersold Duke with a back-pass, but an instinctive stop from the goalkeeper prevented a second for the 37-year-old.
The home fans at the Coral Windows Stadium were getting agitated as they felt they had come out worse from a series of marginal decisions, including when Wells went down in the box under the attention of Pat Baldwin, but the officials weren’t interested.
Cureton almost created space for himself with the drop of a shoulder after linking well with Oakley on the left after the Bantams failed to clear a ball into the box, but his shot was closed down in the nick of time by a combination of defenders.
The Exeter defence weren’t taking any chances with balls into the area, and Danny Coles booting the ball onto the roof of the sizable Northern Commercials Stand was indicative of the no-nonsense attitude.
Even so, the travelling fans breathed a collective sigh of relief when a ball was only half cleared and substitute Garry Thompson poked an effort wide from inside the box under little pressure.
With time running out for the hosts to draw level, Tisdale introduced Kevin Amankwaah in place of Gow to add some defensive resilience.
And Cureton was withdrawn for the returning Bauza in the final minute to add some fresh legs to the forward line after an industrious shift from the striker.
It proved enough as the Exeter defence saw off all threats to take all three points back to Devon.
Full-time: Bradford City 0 Exeter City 1
Bradford City: Duke; Naylor, McArdle (Thompson 75), Egan, McHugh; Atkinson, Jones, Doyle, Forsyth (Connell h/t); Hanson, Wells.
Subs (not used): McLaughlin, Ravenhill, Baker, Brown, Bass.
Exeter City: Krysiak; Tully, Baldwin, Coles, Woodman; Sercombe, Bennett (Doherty h/t), Oakley; Gow (Amankwaah 85); Cureton (Bauza 90), O’Flynn.
Subs (not used): Evans, Keohane, Dawson, Moore-Taylor.
Goal: Cureton (44).
Referee: A. Haines