Cheltenham came from behind to beat Macclesfield and move top of the League Two table.
The hosts went ahead when Matthew Hamshaw's cross found Marcus Marshall at the back post, who poked the ball beyond keeper Scott Brown's reach.
Sido Jombati levelled the score from close range and Jeff Goulding gave the Robins the lead after half-time with a superb drive into the bottom corner.
Luke Garbutt's deflected free-kick late on sealed the win for Cheltenham.
Everton loanee Garbutt went close to claiming his first goal for the Robins early on, but keeper Jose Veiga forced his 25-yard free-kick wide.
Colin Daniel put his effort inches wide for the home side before debutant Marshall got on the end of Hamshaw's diagonal ball to put Macc ahead.
But their lead lasted just seven minutes as Alan Bennett's header found Jombati, who slammed home.
Cheltenham dominated the second half and went ahead when Goulding converted a neat Brian Smikle pass.
Keeper Brown denied Ben Mills a first senior goal when he palmed the youngster's header wide before Garbutt finished the game off deep in injury time with a free-kick that deflected heavily off Marshall.
Mark Yates' side now sit three points clear at the summit of League Two, although they have played a game more than Southend and Crawley in second and third respectively.
Macclesfield drop three places to 19th - eight points off the relegation zone.
VIEWS FROM THE DRESSING ROOM
Macclesfield boss Gary Simpson told BBC Radio Manchester:
"I don't think we got what we deserved today.
"We've lost to two contentious refereeing decisions and a deflected free-kick but I can't fault anyone's effort out there.
"Marcus Marshall has come in on loan and I'm pleased he's got a goal on his debut. We've been looking for someone to attack crosses at the back post and that's what he's done.
"There was a Premier League scout here today and he said to me there's not much between the two sides. Given the amount of injuries we've got I think that says everything about our performance."
Cheltenham Town assistant manager Neil Howarth told BBC Gloucestershire:
"We knew with the fixtures that were played today that at least a draw would have moved us top.
"We would have been disappointed if we weren't where we are. It's got a nice ring to it.
"They've been excellent all week in training but you don't know how they are going to respond off the back of a defeat.
"We came from a goal down and in the second half we dominated and were back to our best."
- 01 Veiga
- 03 Tremarco Booked
- 14 Diagne
- 16 Brisley
- 24 Hewitt
- 04 Kay Booked (Fairhurst - 82' )
- 11 Daniel
- 12 Mendy (Bakare - 88' )
- 15 Marshall
- 20 Hamshaw
- 29 Mills
- 02 Bateson
- 25 Thomas
- 18 Fairhurst
- 27 Daniels
- 34 Bakare
- 01 Brown
- 02 Lowe
- 15 Bennett
- 19 Garbutt
- 22 Jombati
- 07 Pack
- 11 Smikle
- 20 McGlashan (Penn - 76' )
- 25 Summerfield
- 10 Goulding (Spencer - 86' )
- 23 Mohamed (Duffy - 90' )
- 24 Hooman
- 08 Low
- 16 Penn
- 09 Duffy
- 14 Spencer
Live Text Commentary
Full Time The match has reached full-time.90:00 +3:59 Goal scored
Goal! - Luke Garbutt - Macclesfld 1 - 3 Cheltenham Luke Garbutt grabs a goal direct from the free kick from outside the penalty box to the bottom left corner of the goal. Macclesfield 1-3 Cheltenham.90:00 +3:18
Unfair challenge on Marlon Pack by Tony Diagne results in a free kick.90:00 +2:16
Free kick awarded for an unfair challenge on Russell Penn by Colin Daniel. Free kick taken by Russell Penn.90:00 +1:47 Substitution
Substitution (Cheltenham) makes a substitution, with Darryl Duffy coming on for Kaid Mohamed.88:55
Kaid Mohamed has shot on goal from just outside the area which goes wide of the right-hand upright.86:42 Substitution
Substitution Michael Bakare replaces Arnaud Mendy.86:42
Unfair challenge on Russell Penn by Waide Fairhurst results in a free kick. Direct free kick taken by Keith Lowe.85:20 Substitution
Substitution James Spencer comes on in place of Jeff Goulding.82:40
Foul by Waide Fairhurst on Marlon Pack, free kick awarded. Marlon Pack restarts play with the free kick.81:42
Direct free kick taken by Keith Lowe.81:42 Substitution
Substitution (Macclesfield) makes a substitution, with Waide Fairhurst coming on for Scott Kay.81:42
Unfair challenge on Russell Penn by Arnaud Mendy results in a free kick.80:51
Kaid Mohamed takes a shot. Blocked by Matthew Hamshaw.79:35
Ben Mills takes a shot. Save by Scott P Brown. Corner taken right-footed by Marcus Marshall from the right by-line, Shaun Brisley takes a shot. Save by Scott P Brown.79:01
The referee penalises Marlon Pack for handball. Free kick taken by Jose Veiga.75:44
Effort from outside the box by Sido Jombati goes wide right of the target.75:44 Substitution
Substitution Russell Penn replaces Jermaine McGlashan.73:36
Foul by Jeff Goulding on Tony Diagne, free kick awarded. Free kick taken by Tony Diagne.71:43
Matthew Hamshaw takes a short corner.
Free kick awarded for a foul by Brian Smikle on Tony Diagne. Jose Veiga takes the free kick.68:38
Free kick awarded for an unfair challenge on Scott Kay by Brian Smikle. Tony Diagne restarts play with the free kick.67:45
Free kick awarded for an unfair challenge on Kaid Mohamed by Ben Mills. Scott P Brown takes the direct free kick.66:03
The assist for the goal came from Brian Smikle.66:03 Goal scored
Goal! - Jeff Goulding - Macclesfld 1 - 2 Cheltenham Jeff Goulding finds the back of the net with a goal from just outside the area to the bottom right corner of the goal. Macclesfield 1-2 Cheltenham.65:35 Booking
Booking Scott Kay is cautioned by the ref for unsporting behaviour.65:13
Foul by Scott Kay on Luke Summerfield, free kick awarded. Scott P Brown takes the direct free kick.63:25
Brian Smikle produces a right-footed shot from the edge of the box and misses to the right of the target.62:39
The ball is delivered by Matthew Hamshaw.61:29
Luke Summerfield takes a shot. Shaun Brisley gets a block in.59:34
Effort from the edge of the penalty box by Kaid Mohamed goes wide of the right-hand upright.57:58
Corner taken by Marlon Pack, save made by Jose Veiga.56:57
Unfair challenge on Marlon Pack by Arnaud Mendy results in a free kick. Free kick taken by Luke Garbutt.55:58
The ball is swung over by Jermaine McGlashan, save by Jose Veiga.52:26
Luke Garbutt takes a shot. Shaun Brisley gets a block in. Short corner worked by Jeff Goulding.47:43
Outswinging corner taken from the right by-line by Marlon Pack.45:28
Headed effort from deep inside the area by Ben Mills misses to the right of the goal.45:01
The referee gets the second half underway.45:00 +1:22 Half time
Half Time The match has reached half-time.43:48
Colin Daniel takes a shot. Save by Scott P Brown.42:04
Luke Summerfield takes the direct free kick. Luke Garbutt produces a left-footed shot from long range which goes wide right of the goal.42:04 Booking
Booking Booking for Carl Tremarco.41:53
Carl Tremarco concedes a free kick for a foul on Kaid Mohamed.41:11
Outswinging corner taken right-footed by Matthew Hamshaw, clearance by Marlon Pack.38:12
Free kick awarded for a foul by Luke Summerfield on Marcus Marshall. Direct free kick taken by Carl Tremarco.36:36 Goal scored
Goal! - Sido Jombati - Macclesfld 1 - 1 Cheltenham Sido Jombati finds the net with a goal from close range to the top left corner of the goal. Macclesfield 1-1 Cheltenham.36:21
Corner taken by Luke Garbutt from the left by-line.35:53
Luke Summerfield takes a shot. Blocked by Shaun Brisley.35:10
Kaid Mohamed takes a shot. Jose Veiga makes a save.33:35
Colin Daniel fouled by Marlon Pack, the ref awards a free kick. Shaun Brisley restarts play with the free kick.33:14
Outswinging corner taken from the left by-line by Luke Garbutt.32:46
Jermaine McGlashan fouled by Carl Tremarco, the ref awards a free kick. Free kick taken by Marlon Pack.29:53
Matthew Hamshaw provided the assist for the goal.29:53 Goal scored
Goal! - Marcus Marshall - Macclesfld 1 - 0 Cheltenham Marcus Marshall gets on the score sheet with a goal from inside the penalty area to the bottom left corner of the goal. Macclesfield 1-0 Cheltenham.28:01
The referee gives a free kick against Scott Kay for handball. Luke Garbutt takes the direct free kick. Marlon Pack has an effort at goal from 30 yards. Carl Tremarco gets a block in.25:59
Brian Smikle produces a left-footed shot from the edge of the area and misses to the left of the target.25:03
Marlon Pack produces a right-footed shot from the edge of the box and misses to the right of the goal.23:13
Ben Mills produces a header from inside the area that goes over the crossbar.21:58
Kaid Mohamed concedes a free kick for a foul on Tony Diagne. Tony Diagne restarts play with the free kick.21:07
Marlon Pack handles the ball and concedes a free kick. Direct free kick taken by Matthew Hamshaw.20:38
Short corner taken by Colin Daniel.20:00
Marcus Marshall takes a shot. Jeff Goulding gets a block in. Outswinging corner taken by Matthew Hamshaw from the right by-line, Marlon Pack manages to make a clearance.18:57
Free kick awarded for a foul by Ben Mills on Keith Lowe. Direct free kick taken by Luke Garbutt.16:30
Luke Garbutt takes a shot. Outswinging corner taken right-footed by Marlon Pack from the right by-line, Shaun Brisley makes a clearance.15:43
Free kick awarded for an unfair challenge on Kaid Mohamed by Arnaud Mendy.10:55
Arnaud Mendy challenges Kaid Mohamed unfairly and gives away a free kick. Direct free kick taken by Keith Lowe.10:21
Foul by Elliott Hewitt on Brian Smikle, free kick awarded. Marlon Pack restarts play with the free kick.9:42
The ball is swung over by Brian Smikle, save by Jose Veiga.1:36
Corner taken by Marlon Pack from the right by-line to the near post, Matthew Hamshaw makes a clearance.0:00
The game kicks-off.
Live data and text provided by our data suppliers