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
More than 200 guns were handed in to police during a regional gun amnesty this month.
Simon's Blog - Sunrises & Sunsets
Wednesday night's weather for the west of the region