Bristol City 2 Chesterfield 4
Their hosts, who had taken an early lead through a Luke Wilkshire free-kick, were blasted away and saw striker Stephen Brooker stretchered off to have six stitches in his left knee.
Spurred by that early goal from Wilkshire - it was struck from 22 yards after a foul on Scott Murray - City had been playing their best football of the season before losing Brooker.
But when the pressure came they were far too fragile at the back and were quickly opened up when Hall drew on his experience to level the score on 18 minutes.
His smoothly struck shot from the right sped across Brazilian keeper Adriano Basso and into the far corner.
If Basso saw little of that one, he knew even less about the one Kevan Hurst hit from 35 yards after accepting a short square pass from Hall. It flew over all heads, clipped the underside of the bar and ended in the top right hand corner.
Brooker, who had been City's liveliest player, was injured within a minute of Chesterfield's equaliser. Teenager David Cotterill took over but the spark had gone and his late consolation goal came too late to reignite it.
Murray, Marcus Stewart and Matt Heywood all passed up scoring chances to get their struggling side back into the game.
They were lucky, though, that defender Bradley Orr escaped with a yellow card for a tackle from behind which led to Chesterfield's third goal.
A clever little ball from Hall put Colin Larkin on a run down the left and, he had gone past Orr and was closing in for a shot, when the tackle came.
Hall strolled up to convert the penalty and, for all his 33 years; he went on to run City's haphazard defence ragged.
He was rewarded with his hat-trick when a strong run by Larkin left him with a tap-in.
For City this seventh straight defeat in all competitions looks like leaving them with a relegation fight this winter after starting the season as promotion favourites.