It took a brave and resilient defensive display to earn a point in our final match of 2020 - frustrating high-flying Swansea City on their own patch to take a point from south Wales.
A high-tempo start saw Swansea enjoy the early possession but a neat flick from Baldock nearly found Olise aftwer good work from Semedo had fed the frontman with his back to goal on the edge of the City box.
The first meaningful shot at goal came for the hosts though - Bidwell was fed by Ayew out on the left and his cross was met by an acrobatic overhead from Ayew whose effort fizzed just over the crossbar.
Reading had the first shot on target though and the Royals were unlucky not to score from it. A worked set piece on the right saw Olise swing the ball in - and McIntyre arrived late to stab it goalwards - but a fine reaction save from Freddie Woodman kept the ball out.
Midway through the half, Ayew twisted and turned his way past Morrison and unleashed a sweetly struck effort from distance that Rafael needed to gather into his chest.
Morrison headed clear a set piece and then intercepted the ball when the home side tried to thread it through to Ayew again, the Royals skipper leading well from the last line of defence.
Rafael had to leap to his left to palm a downward Ayew header away - the Swansea frontman finding himself in space in the centre of the Reading box but unable to get his effort past the Brazilian stopper.
Semedo rose high to direct a header wide at the other end, but City were knocking at the door and nearly broke the deadlock when a downward header from a corner dropped to Marc Guehi who half-volleyed over the bar from six yards out.
Korey Smith couldn't get the ball out of his feet to dig out another shot at the Royals goal, then Ayew saw an effort deflect off McIntyre and safely into the palms of Rafael.
As the first half injury time was announced over the tannoy, Reading broke from a cleared Swansea corner. But as Olise looked to find Ejaria with a telling pass, he was pulled back by Bennett who earned a yellow card for a cynical foul on the young forward.
The last action of the half saw Woodman dive low to his left to save Baldock's skidding set piece. The teams went in level.
Half-time: Swansea City 0-0 Reading
Rafael had needed treatment towards the end of the first half but there was no rest for the Royals keeper as he palmed clear a cross from the left when it looked like Connor Roberts' head might send the ball goalwards.
Reading carved open an opportunity next when Ejaria weighted a lovely ball in behind the Swansea defence for Baldock to scamper onto. He backheeled it into the path of Semedo but he couldn't get a shot away and overhit his pass back to Baldock.
Guehi took aim for City next, winning a corner with a shot that was deflected behind. Then substitute Latibeaudiere met a recycled corner that came in from the left and Rafael did brilliantly to claw it off his line low to his left.
Bidwell got above Esteves to direct a header at goal from Ayew's cross, but Rafael made no mistake in collecting it into his body. Holmes then headed clear another dangerous cross as the hosts turned up the pressure.
More brilliance from Rafael repelled City with 20 minutes remaining, somehow getting a right glove behind a powerful header from Ayew.
Into the final ten minutes and Reading were defending in numbers, looking to catch their opponents on the break. McIntyre arrowed over from distance before the returning Richards won a corner on the left - Olise's delivery was met by McIntyre and a fingertip save from Woodman turned it over the crossbar.
Morrison made the same run from the following corner, but couldn't connect enough to direct the ball on target. And the Royals were finishing the game on the front foot, but couldn't carve out an opportunity that might have nicked the win.
Full-time: Swansea City 0-0 Reading
Swansea City: Woodman, Bennett (Latibeaudiere 53), Guehi, Fulton, Smith (Palmer 73), Grimes (c), Lowe (Gyokeres 87), Ayew, Roberts, Bidwell, Cabango.
Subs: Benda, Manning, Routledge, Dhanda, Cooper, Garrick.
Reading: Rafael, Holmes, Esteves, McIntyre, Morrison (c), Rinomhota, Laurent, Semedo (Aluko 57), Olise, Ejaria (Richards 73), Baldock (Swift 67).
Subs: Southwood, Watson, Dorsett, East, Melvin-Lambert.
This match report was brought to you by WHATJOBS. Learn more at www.WHATJOBS.com