The visitors looked set to register their first league win of the season until a poor back pass by Aden Flint put Hughes in the clear.
And the veteran striker made no mistake as he side-stepped visiting goalkeeper Elliott Parish to roll the ball into an empty net.
A busy but largely even and uneventful first half burst into life in the 38th minute when Robins striker Sam Baldock cracked a shot against a post.
Vale striker Tom Pope then headed clear to prevent a certain goal for Joe Bryan before home ‘keeper Chris Neal made a terrific save to deny Jay Emmanuel-Thomas.
And the visitors repelled Vale’s efforts at the start of the second period before taking a deserved lead in the 55th minute.
Emmanuel-Thomas picked out the run of Scott Wagstaff and, with Neal expecting a cross, the winger smashed a 15-yard shot high inside the ‘keeper’s left-hand post.
Baldock then fired another excellent chance wide for the visitors as Vale looked woefully short of ideas until Flint’s late gaffe.