Rotherham's dream of back-to-back promotions is still alive after they booked their place in the League One play-off final at Wembley by beating Preston in a thrilling semi-final second leg at the New York Stadium.
The Millers, who won automatic promotion from League Two last year, have had a magnificent season but they saved one of their best performances for the most important night and prospered thanks to a Wes Thomas header from a Ben Pringle free-kick, Lee Frecklington's finish from another Pringle cross and Kieran Agard's first-time shot with 23 minutes to go after James Tavernier's run.
It was a trademark display of attacking endeavour, orchestrated by the influential Pringle, which could have yielded a bigger winning margin but was enough to set up a date in London with Leyton Orient on 25 May.
Simon Grayson's men more than played their part in an enthralling contest as they took the lead early on through Paul Gallagher's free-kick and then twice hit the woodwork in their attempts to get back into it though Jack King and Joe Garner. But North End, who were among the pre-season favourites to go up, will now spend a fourth season in League One.
Rotherham United (4-4-2): Collin; Tavernier, Morgan, Arnason, Skarz; Frecklington (Milsom, 90), Thomas (Vuckic, 87), Smallwood, Pringle; Agard (O'Connor, 90) Revell. Substitutes not used Shearer, Davis, Rowe, Hitchcock.
Preston North End (4-4-2): Rudd; Clarke, King, Wright, Wiseman (Humphrey, 53); Welsh (Brownhill, 68), Gallagher (Beavon, 77), Kilkenny, Buchanan; Garner, Davies. Substitutes not used Stuckmann, Keane, Laird, Holmes.
Referee K Stroud (Hampshire)