Oxford United continued their recent revival with victory over promotion-chasing Cheltenham Town.
U's midfielder Peter Leven scored the only goal, his third penalty against the Robins this season, after Tom Craddock was clipped in the box.
Michael Duberry and Alfie Potter both fired wide chances for the U's.
Billy Jones went close for Cheltenham with a free-kick and Sido Jombati headed over, but United held on for a fourth win in a row.
Oxford are now unbeaten in 10 games, a run that has taken them from near the relegation zone to five points off the play-off places.
VIEW FROM THE DRESSING ROOM
Cheltenham Town Manager Mark Yates told BBC Radio Gloucestershire:
"I thought we were the better team. I'm not going to moan too much, but apart from a bit of quality, we were the ones trying to make all the play.
"We've huffed and puffed at the end and had a go and I can't complain at the lads' effort. It was a tough game but I'm pretty pleased with my side.
"We've had quite a few chances at the end but we've not managed to make one tell, it's a tough place to come."
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +3:46
The referee blows for offside. Direct free kick taken by Scott Brown.90:00 +3:03
Shot from deep inside the area by Jermaine McGlashan clears the bar.90:00 +1:02
Headed effort from just outside the penalty area by Harry Worley goes over the crossbar.90:00 +0:40
Unfair challenge on Billy Jones by Luke O'Brien results in a free kick. Free kick taken by Billy Jones.90:00 +0:13 Substitution
Substitution Harry Worley is brought on as a substitute for Alfie Potter.87:55
The referee blows for offside against Josh Parker. Billy Jones takes the direct free kick.84:55
Jeff Goulding challenges Jake Wright unfairly and gives away a free kick. Direct free kick taken by Ryan Clarke.81:47
Inswinging corner taken from the right by-line by Peter Leven, Alan Bennett makes a clearance. Corner taken by Peter Leven from the left by-line, Steve Elliott makes a clearance.80:43
James Constable takes a shot. Save made by Scott Brown. Free kick awarded for an unfair challenge on Jake Wright by Shaun Harrad. Ryan Clarke restarts play with the free kick.79:25
The referee blows for offside against Josh Parker. Scott Brown takes the free kick.78:46
Alfie Potter fouled by Marlon Pack, the ref awards a free kick. Damian Batt takes the free kick.76:59
The ball is sent over by Marlon Pack, clearance by Damian Batt. Free kick awarded for a foul by Peter Leven on Russell Penn. Billy Jones produces a shot on goal direct from the free kick.76:00
The assistant referee signals for offside against Josh Parker. Scott Brown restarts play with the free kick.75:20
Shaun Harrad takes a shot from deep inside the box clearing the bar.73:16
Billy Jones takes the inswinging corner, clearance made by Jake Wright.71:33
Corner taken left-footed by Peter Leven, Alan Bennett makes a clearance.70:55 Substitution
Substitution Darryl Duffy leaves the field to be replaced by Shaun Harrad.70:04 Substitution
Substitution Tony Capaldi is brought on as a substitute for Sean Rigg.70:04
Effort on goal by Josh Parker from just inside the penalty area goes harmlessly over the target.
Alfie Potter sends in a cross.67:34
Billy Jones crosses the ball.66:51
Unfair challenge on Jeff Goulding by Michael Duberry results in a free kick. Free kick taken by Marlon Pack.66:15 Substitution
Substitution Kaid Mohamed joins the action as a substitute, replacing Jake Taylor.66:15
Effort from the edge of the box by Alfie Potter goes wide of the left-hand upright.62:38
The ball is sent over by Sido Jombati. The ball is delivered by Billy Jones, Jake Wright manages to make a clearance.61:34 Substitution
Substitution Josh Parker comes on in place of Tom Craddock.59:01
Billy Jones produces a cross, save by Ryan Clarke. Russell Penn takes a shot. Ryan Clarke makes a save. James Constable gives away a free kick for an unfair challenge on Russell Penn. Billy Jones takes the free kick.57:15
Damian Batt delivers the ball. Corner from the left by-line taken by Billy Jones, The ball is swung over by Jake Taylor, clearance made by Peter Leven.55:32 Booking
Booking Tom Craddock is given a yellow card.55:28
Tom Craddock gives away a free kick for an unfair challenge on Russell Penn. Free kick taken by Billy Jones.52:03
Lee Cox gives away a free kick for an unfair challenge on Jermaine McGlashan. Free kick taken by Billy Jones. Alan Bennett is ruled offside. Ryan Clarke takes the direct free kick.50:52
Jeff Goulding gives away a free kick for an unfair challenge on Michael Duberry. Ryan Clarke restarts play with the free kick.48:43 Substitution
Substitution Marlon Pack comes on in place of Darren Carter.47:34
The ball is sent over by Sean Rigg, clearance made by Russell Penn.45:01
The second half kicks off.45:00 +1:04 Half time
Half Time The whistle is blown to end the first half.43:40
Centre by Sido Jombati.42:03
Alfie Potter gives away a free kick for an unfair challenge on Steve Elliott. Billy Jones takes the direct free kick.37:04
The ball is crossed by Alfie Potter, Steve Elliott makes a clearance. Free kick awarded for a foul by Alfie Potter on Russell Penn. Billy Jones restarts play with the free kick. Foul by Damian Batt on Jermaine McGlashan, free kick awarded. Billy Jones takes the direct free kick.36:11
Sido Jombati concedes a free kick for a foul on Sean Rigg. Peter Leven takes the free kick.35:09
The official flags Darryl Duffy offside. Damian Batt takes the direct free kick.34:38
Unfair challenge on Alfie Potter by Jermaine McGlashan results in a free kick. Damian Batt takes the direct free kick.31:37
Lee Cox concedes a free kick for a foul on Jermaine McGlashan. Direct effort from the free kick comes in from Darren Carter.29:27
Corner taken left-footed by Billy Jones to the near post, Peter Leven makes a clearance.28:08
Corner taken by Billy Jones from the right by-line, clearance made by Damian Batt.25:28
Free kick awarded for a foul by Michael Duberry on Darryl Duffy. Free kick taken by Billy Jones.24:58
Jermaine McGlashan takes a shot. Save by Ryan Clarke.22:44
Shot by Michael Duberry from deep inside the penalty area misses to the left of the goal.21:53
Corner taken left-footed by Peter Leven, Headed effort on goal by Sean Rigg from inside the penalty box misses to the right of the goal.19:31
Darren Carter produces a left-footed shot from just outside the box that misses to the right of the target.17:51
Tom Craddock is caught offside. Scott Brown restarts play with the free kick.16:45
Tom Craddock concedes a free kick for a foul on Alan Bennett. Direct free kick taken by Billy Jones.16:12
Jake Taylor gives away a free kick for an unfair challenge on Damian Batt. Direct free kick taken by Ryan Clarke.15:22 Goal scored
Goal! - Peter Leven - Oxford 1 - 0 Cheltenham Penalty taken left-footed by Peter Leven and scored. Oxford Utd 1-0 Cheltenham.14:31
Sido Jombati gives away a Penalty for an unfair challenge on Tom Craddock.13:29
Peter Leven delivers the ball, save by Scott Brown.12:29
Alfie Potter takes a shot. Save made by Scott Brown.11:25
The assistant referee signals for offside against Tom Craddock. Scott Brown takes the direct free kick.8:16
The ball is sent over by Billy Jones, save made by Ryan Clarke.4:51
The assistant referee signals for offside against Tom Craddock. Scott Brown restarts play with the free kick.3:59
James Constable produces a cross.0:00
The match has kicked off.
Live data and text provided by our data suppliers