Goals from Damion Stewart, Jeff Hughes and Lloyd Sam were enough to move the visitors to within two points of the playoff places.
In contrast, Stevenage's promotion push was delivered a blow as a Jake Cassidy brace helped Tranmere Rovers to a 3-0 victory at Prenton Park.
At the other end of the table, Exeter City are now eight points adrift of safety after they were defeated 1-0 at Scunthorpe United thanks to John Parkin's goal.
However, Wycombe Wanderers earned themselves a vital point after Stewart Lewis's last-minute strike gave them a 1-1 draw at home to Carlisle United. Gary Waddock's side are now just a point from safety.