Rotherham United 0 Exeter City 1
It was the second promotion in a row for the Grecians as they finished off the season with a nervy victory over 10-man Rotherham.
The home side played out the last 16 minutes without Dale Tonge after he was sent off for bringing down Craig McAllister in the area, though Stuart Fleetwood's resulting penalty was easily saved by Andy Warrington to ensure a nail-biting finale.
Exeter were fortunate to reach half time still on level terms after Rotherham created a handful of opportunities and Paul Tisdale's outfit squandered their own chances.
Rotherham striker Reuben Reid hoisted a difficult effort over but when Mark Hudson's long ball sent Drewe Broughton charging through the big front man looked sure to score after rounding 'keeper Paul Jones. Exeter had Troy Archibald-Henville to thank after he raced in and hooked the a ball off the line.
And when Ryan Taylor stole in to meet Hudson's corner with a power header Liam Sercombe cleared.
Exeter's strong away following were agonising before the break when Fleetwood somehow hopelessly sliced a shot from eight yards out after Matt Gill's surging run down the left.
Skipper Matt Taylor might have done better with his header from Sercombe's free kick but it dropped kindly for 'keeper Warrington.
Seconds before the break Exeter were a fraction away from conceding but Jones finger-tipped Jamie Green's cross onto the bar and out.
And ten minutes after the restart Green cleverly cut in from the left but rifled his right foot shot just over.
Jones was again forced into action moments later, making a brave point-blank save as Ryan Taylor tried to stab the ball in after Reid's shot had been blocked .
Exeter could have settled their nerves in the 69th minute when Gill's cross from the right brought a power header from McAllister but Warrington saved well.
But a minute later the travelling fans were celebrating when Logan rose at the far post to send a looping header over Warrington, a goal that proved enough to send the Grecians into League One.