There was a frustrated mood around the Madejski Stadium ahead of the game with news breaking that Watford's Tommy Smith - who had a medical with the Royals on Monday - was now in discussions with Portsmouth and Barnsley's Jon Macken had a great chance to make the atmosphere even flatter inside the opening five minutes, but when through one-on-one, he could only shoot wide.
In a competitive game, neither side dominated, but it was Barnsley that created the better chances. Macken had a 20-yard effort saved by Ben Hamer and then the striker turned provider as his pin-point cross was headed wide by Odejayi when he really should have scored.
Eventually the hosts rallied and forced Luke Steele in the Barnsley goal into action and he produced a fine stretching save to deny David Mooney and keep the scores level.
The hosts began brightly after the break and pushed Barnsley back without being able to test Steele further.
And just before the hour mark they were hit with a sucker punch when the Tykes hit Reading on the break and opened the scoring.
Lively winger Jamal Campbell-Ryce broke with pace and fed Bogdanovic in the area, who after seeing his first effort blocked, reacted to coolly slot home the rebound.
Barnsley had chances to extend their lead. The dangerous Campbell-Ryce flashed a ball across the face of goal before forcing Hamer into a stretching save and then from the resulting corner Bogdanovic's glancing header was cleared off the line.
The inevitable Reading onslaught eventually came and their attempts to get an equaliser were incessant in the final 15 minutes, with Steele making a string of saves, denying James Harper and Noel Hunt with outstanding stops.
And as the game headed towards injury time, Steele was finally beaten. Substitute Michail Antonio whipped in a cross and as Steele came to collect, Kozluk inexplicably headed the ball back into an empty net.
Then, in the final throes, Barnsley broke and when Odejayi was felled, Bogdanovic had the final say from 12 yards, firing into the bottom corner.