The home side enjoyed the better of the first half, with Ricardo Fuller dangerous in attack, but the Royals went closest to breaking the deadlock through Royston Drenthe's free-kick, which was saved by Matt Gilks, and Jem Karacan's 18-yard effort that came back off the crossbar.
Gilks then saved at the feet of Adam Le Fondre in the second period but substitute Barkhuizen stole the show with a run and finish on 75 minutes to seal the points for the hosts.
Reading's central midfield pairing of Karacan and Danny Guthrie were struggling against the Tangerines' dominant midfield trio and Paul Ince's side fashioned their best opportunity of the half midway through the opening period.
More top news
The jury in the trial of an Army sergeant accused of attempting to murder his wife has been discharged - unable to reach a verdict.
Holly has the latest forecast for the west of the region.
The latest forecast for the east of the region from Holly.