With the game's first attack, Potts found the the bottom corner after Cullen's classy touch and flick.
Ollie Watkins was denied by Sam Slocombe before David Wheeler lobbed the keeper to deservedly put Exeter level.
Blackpool had numerous chances before Cullen's prodded in Potts' low cross.
Paul Tisdale's Exeter side dominated possession throughout and almost forced extra time when Watkins headed over in stoppage time.
The Tangerines, who only had around 6,000 supporters at Wembley because of an ongoing boycott by fans in protest against the club's owners, lost skipper Tom Aldred to injury before the break but were not deterred.
The margin of victory could have been bigger for Gary Bowyer's men, with substitute Bright Osayi-Samuel shooting wide and Kyle Vassell seeing an effort saved as Exeter left themselves vulnerable to counter-attacks late on.
As recently as 2011 Blackpool were in the Premier League, but their drop to the second tier after just one season in the top flight was compounded by successive relegations in the past two seasons.
There have been well documented off-field problems too, with the Blackpool Supporters' Trust repeatedly calling for much-maligned owners Owen and Karl Oyston to step aside.
One thing the Lancashire club have not lost is their knack of successful play-off campaigns, with this their fifth final victory - more than any other club.
It also adds to the trend of teams finishing seventh, the final play-off spot in League Two, going up - as it has now happened in five of the past eight fourth-tier campaigns.
More to follow.
Match ends, Blackpool 2, Exeter City 1.
Second Half ends, Blackpool 2, Exeter City 1.
Colin Daniel (Blackpool) is shown the yellow card.
Hand ball by Lee Holmes (Exeter City).
Attempt missed. Ollie Watkins (Exeter City) header from the centre of the box is too high. Assisted by David Wheeler with a headed pass.
Jordan Flores (Blackpool) is shown the yellow card for a bad foul.
Jack Stacey (Exeter City) wins a free kick in the defensive half.
Foul by Jordan Flores (Blackpool).
Foul by Jake Taylor (Exeter City).
Bright Samuel (Blackpool) wins a free kick on the left wing.
Sam Slocombe (Blackpool) is shown the yellow card.
Attempt saved. Kyle Vassell (Blackpool) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Bright Samuel.
Attempt missed. Bright Samuel (Blackpool) left footed shot from the left side of the box misses to the right. Assisted by Brad Potts.
Attempt missed. Lee Holmes (Exeter City) left footed shot from outside the box is too high.
Corner,  Exeter City. Conceded by Colin Daniel.
Offside, Blackpool. Sam Slocombe tries a through ball, but Kyle Vassell is caught offside.
Foul by Jordan Moore-Taylor (Exeter City).
Kelvin Mellor (Blackpool) wins a free kick in the defensive half.
Corner,  Exeter City. Conceded by Will Aimson.
Jordan Moore-Taylor (Exeter City) wins a free kick in the defensive half.
Foul by Will Aimson (Blackpool).
Attempt missed. David Wheeler (Exeter City) header from the centre of the box misses to the right. Assisted by Lloyd James with a cross.
Attempt missed. Bright Samuel (Blackpool) right footed shot from outside the box is high and wide to the right. Assisted by Neil Danns.
Attempt missed. Reuben Reid (Exeter City) right footed shot from the centre of the box is close, but misses to the left. Assisted by David Wheeler with a headed pass.
Jordan Moore-Taylor (Exeter City) wins a free kick in the defensive half.
Foul by Bright Samuel (Blackpool).
Substitution, Blackpool. Jordan Flores replaces Mark Cullen.
Corner,  Blackpool. Conceded by Pierce Sweeney.
Attempt missed. Neil Danns (Blackpool) right footed shot from outside the box is too high. Assisted by Bright Samuel.
Substitution, Exeter City. Lee Holmes replaces Craig Woodman.
Attempt blocked. Lloyd James (Exeter City) right footed shot from outside the box is blocked. Assisted by Reuben Reid.
Attempt missed. Kyle Vassell (Blackpool) header from the centre of the box misses to the left. Assisted by Neil Danns following a corner.
Corner,  Blackpool. Conceded by Lloyd James.
Bright Samuel (Blackpool) is shown the yellow card.
Goal!  Blackpool 2, Exeter City 1. Mark Cullen (Blackpool) left footed shot from very close range to the bottom left corner.
Attempt saved. Brad Potts (Blackpool) right footed shot from the right side of the box is saved in the bottom left corner. Assisted by Kyle Vassell with a headed pass.
Foul by Reuben Reid (Exeter City).
Will Aimson (Blackpool) wins a free kick in the defensive half.
Attempt missed. Kyle Vassell (Blackpool) right footed shot from the right side of the box misses to the left. Assisted by Brad Potts with a cross.
Offside, Blackpool. Ian Black tries a through ball, but Kyle Vassell is caught offside.
Mark Cullen and Brad Potts starred to help Blackpool return to League One at the first time of asking with victory over Exeter in the play-off final.