Blues end the season seven unbeaten.BCFC
It stretched their unbeaten run to seven games and resulted in a 17th place finish in the Championship table - which, without a nine-point deduction would have been 14th.
After the break they were more potent and arguably likely to get a decisive result.
But as it was honours ended even in a match that did have that typical end of campaign feel about it.
And, as an odd quirk, that's the last five league visits to the Madejski Stadium when the hosts have failed to net against unbeaten Blues.
Craig Gardner, with the captain’s armband, Charlie Lakin and Isaac Vassell all started for Blues. Jake Weaver was among the substitutes as Connal Trueman had been taken ill.
Reading, fielding a youthful front three, were first to really threaten, in the ninth minute.
A raking ball towards the overlapping Chris Gunter saw an excellent first time cross delivered on the run, into the heart of the Blues area.
Marc Roberts, having half-cleared the initial ball in, then hoiked it away from in front of the goal line after Josh Barrett couldn’t get himself quite right to profit.
Then there was chaos in the Blues defence after a corner played low into the area, but as the Royals players and Liam Moore tried to get a decisive touch danger was scrambled away, by Vassell.
Although Reading made the early running, a brilliant break by Vassell on the right almost opened the scoring.
Vassell took down a high ball near the touchline, just over halfway, and powered his way beyond two defenders and cut into the area; he struck a low attempt that was parried by Emiliano Martinez at the front post and although the ball reared up for Che Adams, he couldn’t adjust his body shape in time and the rebound was put wide.
In the 20th minute Lee Camp made a stunning save, from Danny Loader. Gunter again skipped the wrong side of Kristian Pedersen and sent over a low cross to the far post, where Loader sidefooted it on target but Camp, having to quickly move his feet and react going back on himself, got down and made an instinctive one-handed stop.
Again Blues were given problems down their left and Camp once more was called into action after Michael Olise shrugged off Kerim Mrabti’s covering challenge and created an angle to fire at the near post, where the Blues ‘keeper got both hands behind the ball to divert it behind.
From a 34th minute corner, earned after good, forceful attacking by Mrabti, Roberts came soaring in to meet Jota’s outswing and his powerful header only just cleared the crossbar.
From then on Blues saw out the half in more comfort.
Half-time: Reading 0 Blues 0
Blues had a good opening 15 minutes to the second-half, pushing Reading back and building some smooth combinations of play.
They got runners forward a lot more and dominated the pattern of proceedings much better than they had in the opening period.
Clever interplay by Mrabti and Adams allowed the latter to break into the area from the left and let fly, with his goalbound attempt striking Moore; the loose ball came back for Craig Gardner and he hit a searing drive that went a few yards over, from 25 yards range.
Moment later a deflected looping shot from Barrett had Camp backpedalling and the ball clipped the outside of the post, high up,
But it was still largely nip and tuck, with Blues appearing more secure than they had been previously - both Roberts and Harding were outstanding all afternoon.
Loader had a try from 25 yards, latching onto a loose header, and that wasn’t too far away either as Reading began to find their stride again.
Lukas Jutkiewicz replaced Vassell with 19 minutes to go in Blues first change, and David Davis soon entered the fray for Lakin, who could have been satisfied with his display.
In the 82nd minute a searching, flat ball into the front post area was taken down by Adams with one touch and sidefooted at goal with his next, but unfortunately for him it rebounded off Moore and ricocheted back off the striker for a goalkick.
And in the final minute, from a deep corner, Jutkiewicz headed towards goal and Adams tried a backheel from close range that Reading managed to get away.
That, and an Adams blaster that went just over, was the last meaningful action as both times were gracious to provide the retiring John O’Shea with a guard of honour as he came on as a substitute for his final appearance.
Reading (4-3-3): Martinez, Gunter (Howe 90), Yiadom, Moore, Miazga, Ejaria, Rinomhota, Baker, Barrett (O’Shea 90), Loader, Olise (Barrow 71). Subs not used: O’Shea, Baldock, McCleary, Walker, Ezatolahi.
Blues (4-4-2): Camp, Colin, Pedersen, Harding, Roberts, Craig Gardner, Lakin (Davis 74), Mrabti (Maghoma 84), Jota, Vassell (Jutkiewicz 71), Adams. Subs not used: Dacres-Cogley, Mahoney, Gary Gardner, Weaver.
Booked: Harding (84)
Attendance: 17,247 (away 2,112)
Referee: K Stroud