Match ends, Boreham Wood 1, Tranmere Rovers 2.
Boreham Wood 1-2 Tranmere Rovers
Tranmere Rovers battled for almost the entire game with 10 men to beat Boreham Wood and return to the English Football League after three years away.
There was drama early on as Tranmere's Liam Ridehalgh was sent off within 48 seconds after putting in a rash two-footed challenge on Ricky Shakes.
Tranmere took the lead when Andy Cook headed James Norwood's cross but Bruno Andrade side-footed home to equalise.
Norwood headed home with 10 minutes left to seal promotion for Rovers.
Rovers were relegated from the English Football League in 2015, ending a 94-year spell in England's top four divisions, and had been in the third tier as recently as 2014.
They have finished second in the National League for two seasons in a row, but fell agonisingly short of promotion last season with defeat at Wembley to Forest Green.
It looked as though Micky Mellon's side could be facing more disappointment when Ridehalgh was dismissed, but Cook's sixth-minute opener gave them a huge boost.
Boreham Wood, who were in the seventh-tier Isthmian League Premier Division just eight years ago, have never been out of the non-league pyramid in their 70-year history.
But they were given hope when Andrade found space to level seven minutes into first-half stoppage time.
Rovers, who were forced to make their third and final substitution before half-time when Ritchie Sutton was injured, had to work hard to claw back the lead.
Connor Jennings came on for Tranmere just 10 days after being discharged from hospital following an unspecified illness - and it was the 26-year-old's cross which set up Norwood's winner as they sealed a hard-fought return to league football at the third time of asking.
The result marked the end of a remarkable campaign for Boreham Wood who had been led to their highest-ever league finish and best FA Cup run this season under 32-year-old manager Luke Garrard.
- 3WoodardsSubstituted forThomasat 83'minutes
- 20FoliviBooked at 61minsSubstituted forQuigleyat 70'minutes
- 11Carvalho Andrade
- 19BalantaBooked at 40mins
- 3RidehalghBooked at 1mins
- 4SuttonSubstituted forHarrisat 45+5'minutes
- 29ColeSubstituted forClarkeat 9'minutes
- 18GinnellySubstituted forJenningsat 34'minutesBooked at 88mins
- Neil Hair
Second Half ends, Boreham Wood 1, Tranmere Rovers 2.
Connor Jennings (Tranmere Rovers) is shown the yellow card for a bad foul.
Substitution, Boreham Wood. Sorba Thomas replaces Dan Woodards.
Goal! Boreham Wood 1, Tranmere Rovers 2. James Norwood (Tranmere Rovers).
Substitution, Boreham Wood. Joe Quigley replaces Michael Folivi.
Michael Folivi (Boreham Wood) is shown the yellow card for a bad foul.
Second Half begins Boreham Wood 1, Tranmere Rovers 1.
First Half ends, Boreham Wood 1, Tranmere Rovers 1.
Goal! Boreham Wood 1, Tranmere Rovers 1. Bruno Andrade (Boreham Wood).
Substitution, Tranmere Rovers. Jay Harris replaces Ritchie Sutton.
Angelo Balanta (Boreham Wood) is shown the yellow card for a bad foul.
Substitution, Tranmere Rovers. Connor Jennings replaces Josh Ginnelly.
Substitution, Tranmere Rovers. Eddie Clarke replaces Larnell Cole.
Goal! Boreham Wood 0, Tranmere Rovers 1. Andy Cook (Tranmere Rovers).
Liam Ridehalgh (Tranmere Rovers) is shown the red card.
First Half begins.
Lineups are announced and players are warming up.