Marc Richards scored his first goal since January to give Chesterfield an impressive win and dent Oxford's League Two play-off ambitions.
Richard Bradley teed up Richards inside the area and he fired into the bottom corner for his seventh of the season.
Tom Craddock came closest to finding a U's equaliser, but keeper Tommy Lee got down well at his near post.
Oxford continued to press but Spireites defender Liam Cooper blocked Craddock's effort and the visitors held on.
The hosts, who had won five of their last seven to remain within touching distance of the top seven, are now six points adrift of the play-off places.
Chesterfield move up to 11th in the table, just one place behind the U's.
VIEW FROM THE DRESSING ROOM
Chesterfield manager Paul Cook told BBC Radio Sheffield:
"Second half we played well, first half we never played well. We got a goal up and sat back. We allowed Oxford to dictate the play.
"We're better than that. That was the demand I put on the players - don't be happy to come to stadiums and hang on.
"I thought second half we played really well and we looked a strong team. I always felt we might get a second goal."
Oxford Utd 24 McCormick 02 Batt 04 Raynes (Worley - 86' Booked ) 06 Wright 16 Whing 14 Rigg (Craddock - 59' ) 26 Davis 27 Davies 09 Constable 10 Smalley Booked (Parker - 77' ) 15 Potter Substitutes 21 Brown 05 Duberry 22 Worley 23 O'Brien 08 Heslop 25 Parker 29 Craddock Chesterfield 01 Lee 03 Smith (Whitaker - 28' ) 05 Trotman 06 Hird 12 Darwikwa (Talbot - 66' ) 17 Brindley (Randall - 90' ) 31 Cooper 33 Townsend 08 Togwell 34 O'Shea 09 Richards Substitutes 40 Barrington 07 Henshall 10 Whitaker 23 Randall 25 Talbot 14 Lester 41 Clark