The Magpies already knew they were promoted courtesy of Nottingham Forest's 0-0 draw with Cardiff when they ran out at St James' Park, but the mood took a turn for the worse when Richard Cresswell's header, which Darius Henderson may have got a touch to on the line, put the visitors into a 22nd-minute lead.
However, Peter Lovenkrands levelled from the penalty spot on the stroke of half-time and Kevin Nolan's 72nd-minute finish was enough to secure another three points and take his side six points clear of second-placed West Brom, who have played a game more.
In a game of few chances at the City Ground, the match sparked into life when Bluebirds goalkeeper David Marshall and Anthony Gerrard nearly came to blows following a disagreement in the penalty area.
At the other end of the table, Peterborough's one-year stay in the Championship is over after a 2-2 draw at Barnsley.
Posh, who are expected to name Gary Johnson as their new manager on Tuesday, knew only a win would keep their season alive.
Iain Hume (7) cancelled out Ryan Bennett's (5) early opener for the visitors but Peterborough still looked set for three points when Tommy Rowe netted 13 minutes from time.
But Hume grabbed a second equaliser seven minutes later to send the visitors down with four games remaining.
West Brom could have been promoted today had they beaten struggling Watford and other results gone their way but in the end they needed a last-gasp equaliser from Chris Brunt to draw 1-1.
The Hornets lost three players to injury, including Tom Cleverley with what looked a serious knee problem, before they were reduced to 10 men when Jon Harley was sent off 11 minutes from time for a second bookable offence.
But Danny Graham put them on course for an unlikely victory with a goal five minutes from time only for Brunt to reply in the fifth minute of stoppage time.
Watford are now above the relegation zone only on goal difference after a 3-1 win for Crystal Palace over Preston.
Paul Hart's side began the day in the bottom three and started badly at Selhurst Park, with Keith Treacy netting after only eight minutes.
But Neil Danns drew Palace level five minutes before half-time and they took the lead when Darren Ambrose's (50) effort was adjudged to have crossed the line. Calvin Andrew made the points safe six minutes from time.
Sheffield Wednesday were the day's big losers as they dropped into the bottom three following a 1-0 defeat by Bristol City at Hillsborough, Nicky Maynard netting the only goal nine minutes from time.
Second-bottom Plymouth, meanwhile, find themselves four points from safety after a 2-0 loss to Middlesbrough.
Stephen McManus put the visitors ahead after 22 minutes but the hosts should have drawn level just before half-time when Justin Hoyte handled in the area only for Alan Judge to see his penalty saved by Brad Jones.
And Boro made sure of the points in the last minute through Jonathan Franks.
Leicester got their promotion challenge back on track with a thumping 4-0 win over QPR.
The Foxes had lost their last four games but returned to form in some style at the Walkers Stadium.
Martyn Waghorn scored twice in between goals from Andy King (5) and Steve Howard (78). QPR thought they had equalised in the 35th minute but Jay Simpson's effort was disallowed for offside.
Swansea bounced back from their derby defeat by Cardiff with a 3-0 victory over Scunthorpe, who are now only two points above the relegation zone.
David Edgar netted the opener 27 minutes in before Ashley Williams (51) and Shefki Kuqi (80) made the points safe.
Blackpool are right on the tails of their play-off rivals after a 2-0 win over Doncaster, DJ Campbell (27) and Stephen Dobbie (67) the scorers.
Reading and Ipswich emerged victorious from their midtable battles against Coventry and Derby respectively.
Grzegorz Rasiak (15), a Simon Church penalty (22) and Jimmy Kebe (40) ensured Reading had the points wrapped up by half-time at the Madejski Stadium.
At Pride Park, Gareth McAuley opened the scoring after only four minutes for Ipswich. Carlos Edwards grabbed a second (81) but Rob Hulse (83) seemed to have made it a nervous finish only for Connor Wickham to make it 3-1 in injury time.