Birmingham 2 (Rooney 23, Elliott 74 (p))
Reading's Championship-winning season ended in defeat away to play-off bound Birmingham, but it made no difference to the party as we celebrated an amazing achievement with promotion back to the big time.
With more than 4,100 Royals fans in the away end, the atmosphere at St Andrew's was superb, and it was a day never to be forgotten.
The sight of Kaspars Gorkss celebrating after full time in a Big Bad Wolf mask, in front of hundreds of inflatables summed up the entire mood.
In terms of the game, Brian McDermott declared himself happy with the performance, and had we been given a penalty at 1-0, with a red card also likely, it would surely have been a different outcome. Ian Harte saw a second half penalty saved, while Adam Federici also saved an injury-time spot kick.
And so Southampton join us in the Premier League next season - but we are the Champions.
With 89 points we have surpassed QPR's title-winning total from last season, and Brian McDermott's message to the players after the game was simple. He told them in the dressing room, 'just drink beer!'
Birmingham (4-4-1-1): Doyle; Ramage, Murphy, Davies (c), Ibanez; Gomis, N'Daw (Burke 70), Elliott, Townsend; Redmond; Zigic (Rooney 21)
Subs: Butland, Huseklepp, King
Booked: Murphy (foul 36)
Reading (4-4-2): Federici; Connolly (Cummings 62), Harte, Gorkss, Pearce; Leigertwood (Gunnarsson 71), Tabb, McAnuff (c), Robson-Kanu; Church, Le Fondre
Subs: McCarthy, Mills, Hunt
Booking: Connolly (foul 51)
Attendance: 25,516 (4,134 away)
Ref: R Madley
Starting XI team news:
Reading made four changes: Adam Le Fondre, Jay Tabb, Simon Church and Matthew Connolly all came in. Jason Roberts was banned, Shaun Cummings and Noel Hunt dropped to the bench and Hayden Mullins was not involved. Joseph Mills was back among the subs.
After the game began the first couple of minutes were not spent watching the action - they were spent watching Adam Federici clear inflatables off the pitch after they blew onto the surface from the away end behind him!
As the game began to truly get going, both sides felt each other out and Federici saved comfortably from a long range effort, then Reading had something of a scramble in the City box but it was hacked clear.
Jay Tabb then put in two great challenges on Nikola Zigic and Guirane N'Daw - both far bigger in stature but it was of no concern to our midfielder.
The game was opening up somewhat, and on 18 Federici had to save well from a Curtis Davies header.
Then down the other end Simon Church was not too far away with a very well-hit volley that flew over.
And with 23 gone, the deadlock was broken by the home side. Reading were on the attack, but N'Daw picked up possession and fed Nathan Redmond. He raced forward and chose the right option in passing to sub Adam Rooney - on for the injured Zigic - who did the rest.
England youth international Redmond was lively, and soon hit a good effort from range that was not too far over. City were incisive, and Federici then saved at the near post from Wade Elliott.
Not long past the half hour Reading had what looked a good penalty claim as Adam Le Fondre went through on goal and seemed to be brought down. The ball ran past the 'keeper and had to be hacked off the line by a defender, which perhaps made the referee less inclined to give a spot kick. Le Fondre and our bench were less than impressed.
Le Fondre then had another effort cleared off the line after cleverly getting onto a Kaspars Gorkss clearance. The striker looked to have beaten Colin Doyle with a lovely dinked effort but Pablo Ibanez was there to clear a yard in front of the goalline.
And right on half time it was so nearly 2-0 to the home side as N'Daw's effort came back off the upright from a free kick.
Elliott should have made it 2-0 a couple of minutes after the restart, but he volleyed over from a left wing cross with the whole goal to aim at. It was not easy, but the former Burnley man will expect to have done better.
It was Reading who were then close to a goal, Jobi McAnuff doing very well down the right only for his cross to be just too far ahead of Church.
Reading were pushing more and more, and only a wonderful piece of defending from Davies denied Church a tap-in after Colin Doyle dropped a cross. It was agonisingly close.
And then Doyle saved a penalty from Ian Harte after Alex Pearce was fouled. The City 'keeper got down very well - but was clearly well off his line when the spot kick was taken.
Encroachment by 'keepers is a rule that is rarely enforced nowadays it seems, so there were few complaints from our players.
Soon after there was a spot kick to the home side. Tabb was very harshly adjudged to have committed deliberate handball - how he could have moved his arm away when sliding in on a drilled cross was beyond anyone with a blue and white perspective. Elliott did the rest from 12 yards.
City were buoyant, and a good left wing cross almost saw Rooney add another.
There was plenty more action late on as well - sub Shaun Cummings denied Andros Townsend with a super block before Federici made a cracking save from David Murphy.
And in injury time Federici superbly saved Elliott's penalty very well after Brynjar Gunarsson was adjudged to have fouled Rooney. A positive end to an amazing season.