Cole struck in the 54th minute at the end of a swift counter-attack from the Tykes after Kacper Lopata headed away a Cheltenham corner.
It was four against one and John McAtee fed Nicky Cadden, who in turn set up Cole to slot past Luke Southwood.
Watters added the second in the second minute of time added on after Southwood blocked Aiden Marsh’s effort.
Barnsley had goalkeeper Liam Roberts to thank for being on level terms at half-time as Cheltenham attempted to end their long wait for a goal this season.
Roberts denied Rob Street at his near post in the 10th minute and made an even better save to turn Lewis Freestone’s header over six minutes later.
At the other end Jack Shepherd’s header hit a post and bounced into the arms of Southwood just before the break.
Cole opened the scoring before Nicky Cadden thumped an effort against a post on the hour.
Street forced Roberts into a one-handed save in the 61st minute and the Robins have now gone more than 10 hours without a goal, with Watters compounding their misery in the final moments.