Swindon took the lead after 13 minutes when a poor clearance by Barnsley who were playing against the strong wind came to Lee Holmes, who passed the ball to Sam Parkin, who run forward with the ball before shooting and scoring from the edge of the box.
Barnsley should have equalised on 22 minutes when a shot from beat Evans, but hit the post. Then a couple of minutes later Swindon hit the post when a Sam Parkin header hit the post, but rebounded back into the Barnsley 'keepers hands.
After some poor Swindon defending Barnsley equalised on 30 minutes when Jacob Burns scored from close range to make it 1-1.
Both sides went into the half time break with the scores level at 1-1.
After few real chances from either side for most of the start of the second half it was Swindon who took the lead on 76 minutes when a mix up between Grant Smith and Lee Holmes who both went for the same ball. It was Holmes who got their first, and he crossed the ball for Sam Parkin to head in his 17th goal of the season.
Swindon held out for the win, and made two late subs with Rory Fallon, and Miglioranzi coming on late to replace Sammy Igoe, and Jamie Slabber.
Overall a fairly average game, but it's an important win for Swindon over a side who haven't been beaten for the past three months. The win moves Swindon up to 7th, only two points off the play offs. Swindon's next game is away to Torquay next Saturday.