The result gave Bassett their seventh Division One West win of the season and saw them keep the heat on leaders Brimscombe & Thrupp.
Reece Gilliver had given absence-hit Purton the lead just 10 minutes in, and that was how it stayed until 19 minutes from time.
Shaun Terry, who was later dismissed, levelled matters and then the in-form Mark Barnes put Bassett ahead for the first time, before an own goal rounded off the win.
In the Hellenic Premier, luckless Highworth still have not won in the league since August after they were defeated 1-0 by Holyport.
In the Southern League Division One South & West, Cirencester lost 3-1 at home to Evesham with the victors’ goals coming from Marcus Palmer, Liam Hughes and Lee Downie.
Former Wootton Bassett striker Sam Collier bagged a consolation for Ciren deep into injury time.
Chippenham’s visit to lowly Bideford in the Southern Premier was called off yesterday afternoon due to a waterlogged pitch.