Phillips scored his 14th league goal of the season to help Birmingham go up
Birmingham made an instant return to the Premier League after winning 2-1 at Reading to claim the Championship's second automatic promotion place.
Keith Fahey's crisp first-half opener and Kevin Phillips' composed finish looked to have secured promotion.
A minute after Phillips scored, Royals substitute Marek Matejovsky cut inside and drilled the ball home.
But Birmingham survived the Reading rally and Blues substitute Garry O'Connor's shot hit the post late on.
Birmingham had not been lower than third all season and manager Alex McLeish can now look forward to another go at managing in the Premier League after he failed to prevent Blues from relegation last May.
Reading could have snatched second place if they had defeated Birmingham and Sheffield United had drawn at Crystal Palace but Steve Coppell's side have to be content with a play-off semi-final against Burnley.
The Royals have not won at home since late January and their disappointing home form has ultimately cost them as they too looked for an instant return to the top flight.
Reading struggled for long periods on Sunday and it was Birmingham who emerged the stronger after a fractious and disjointed opening 15 minutes.
James McFadden, often drifting inside from the right flank, played a series of incisive passes while Phillips, brought into the starting line-up as one of four changes from the team that lost to Preston, twice missed the target with difficult opportunities.
But Birmingham deservedly took the lead when Phillips laid the ball off for Fahey to drill his strike low and hard into the bottom corner from 25 yards.
Cameron Jerome ran across the path of the shot, presumably hindering Marcus Hahnemann's view.
Jerome forced a decent save with a shot from a tight angle while Phillips had a strike blocked as Birmingham continued to control the match.
Phillips delighted after 'unbelievable' win
But Reading, who had offered precious little except for a strike from Jimmy Kebe that was too close to Maik Taylor, finished the half strongly.
Jay Tabb shot narrowly over the crossbar with a left-foot strike while Liam Rosenior drilled a brilliant ball across the face of the Birmingham goal that was crying out for a final touch that never came.
Coppell introduced Matejovsky and Kevin Doyle early in the second half to try to give his team more attacking impetus but before they had had a chance to influence the match Phillips doubled the visitors' lead.
The veteran striker timed his run to perfection, collecting Fahey's superb through ball and placing his shot beyond Hahnemann.
But a minute later Reading scored to revive their fading hopes, with Matejovsky's crisp strike putting the seal on a slick passing move.
Birmingham slowly retreated towards their own goal, inviting Reading to attack, and Matejovsky forced an excellent save from Taylor.
The Royals then had a penalty appeal turned down after Shane Long went to ground after tangling with Taylor while the excellent Matejovsky floated an teasing cross to the far post that eluded everybody.
Birmingham survived those scares and almost added a third through O'Connor's late effort and at last the final whistle came, sparking scenes of celebration from both players and supporters.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.