The Spireites fell to their first Sky Bet League 1 loss of the season, undeservedly, as Adam El-Abd's late header stole a 2-1 win for Shrewsbury Town.
Danny Wilson stuck with the successful starting 11 from the midweek Walsall win, the Spireites taking to the field in blustery and often rainy conditions at the New Meadow.
The first chance of the afternoon came when Dion Donohue was disposesed and Shrewsbury worked the ball to Ivan Toney in space in the area, he slashed at his shot and Ryan Fulton watched it wide.
After 14 minutes the Spireites took the lead, first Gboly Ariyibi appeared to be fouled in the area, then in the aftermath Ched Evans touched through for O'Shea and the Dubliner placed home a 15-yard effort for his second of the season.
Ariyibi was soon causing further problems as he cut inside from the right, made space for a shot but saw Jayson Leutwiler save well at his near post.
The hosts were level on 25 minutes when, after four quick-fire corner kicks all caused danger, left-back Brown was able to head home low and beyond the 'keeper.
With Shrewsbury piling on the pressure Chesterfield carved out a chance on the break when Evans rounded men and laid back for a Dan Gardner strike. The midfielder was close with his low shot, but just wide of the upright.
Ian Black had two efforts for the Shrews, first his teed-up freekick crashed into the wall before he bounced a 30-yard shot well wide of the target.
Five minutes remaining in the half and Gardner again went close as he received the ball in the box after O'Shea's determined break, his curling effort forcing a diving save from Leutwiler.
In the next attack O'Shea again tested the 'keeper, taking a low near-post striker from the edge of the box which Leutwiler palmed round the post, the sides level at the break.
The pace remained quick at the outset of the second 45 minutes, with Evans's intelligent chest putting Ariyibi into space, though the winger's third touch was too heavy and the 'keeper was able to intercept.
Fulton was out quickly to intercept a long ball aimed for Moha Chouley before Evans fired a vicious 35-yard freekick on target with Leutwiler only just able to parry and keep the scores level.
Evans was doing his best to get the Spireites ahead again, shrugging off Ryan McGivern after O'Shea's pass and from an impossible angle forcing the 'keeper into a high blocking save with just over ten minutes left.
On 84 minutes a Jim O'Brien corner found captain El-Abd's forehead and he thumped his header home from close range to give the hosts a first lead against the run of play.
A 30-yard strike from Evans drifted over the bar and Fulton saved brilliantly late on as the Spireites were unable to get back level, falling to a first league loss of 2016/17.
Shrewsbury Town: Brown 25', El-Abd 84'
Chesterfield: O'Shea 14'
Attendance: 4,936 (556 away fans)