Yeovil Town won for a club record eighth time in a row. Bristol Rovers also won, Cheltenham drew and Bristol City lost in the Severnside derby.
- CARDIFF CITY 2 - 1 BRISTOL CITY
Bristol City were beaten in the Severnside derby in Cardiff.
Fraizer Campbell marked his home debut with both goals for the Championship leaders.
The January acquisition from Sunderland opened the scoring in first-half injury time. Tommy Smith's threaded pass found Campbell inside the box and he made no mistake with a right-footed finish past former Cardiff goalkeeper Tom Heaton.
Campbell grabbed his second in the 58th minute, sending Heaton the wrong way after Gunnarsson hurled the ball into his path.
Sean O'Driscoll's men grabbed a bizarre consolation in stoppage time when Ben Nugent nodded the ball past his own keeper.
City stay second-from-bottom in the table, and have another difficult away fixture at Crystal Palace on Tuesday night.
- YEOVIL TOWN 3 - 0 SCUNTHORPE UNITED
Yeovil Town have broken a club record with an impressive eighth win in a row.
Scunthorpe goalkeeper Sam Slocombe tried his best to keep out the Glovers early in the first half, making saves from Sam Foley and Joe Edwards.
Yeovil went ahead in the 26th minute after Slocombe had tipped over another Foley effort. From the resulting corner, Byron Webster headed home his fourth goal of the season.
The 4,100 crowd had to wait until the 72nd minute for the next goal. Sam Foley was brought down in the area and James Hayter coolly slotted home his twelfth goal of the campaign from the penalty spot.
The convincing win was wrapped up four minutes later. Joe Edwards crossed for Paddy Madden, who tapped home for his tenth goal in seven games, his 17th of the season and the seventh successive match he has scored in.
Gary Johnson's men are now third in the table, just one point off top spot.
- BRISTOL ROVERS 1 - 0 WYCOMBE WANDERERS
Bristol Rovers have now won six out of eight games under new manager John Ward.
Ryan Brunt scored the only goal of the game ten minutes before half-time when he volleyed home Joe Anyinsah's cross.
In the second half, former Rovers striker Jo Kuffour had claims for a penalty waved away by the referee. And the home side survived a late goalmouth scramble to hold on for the three points.
Rovers are now 18th in the table. It's the first time they've been out of the bottom six all season.
- CHELTENHAM TOWN 1 - 1 ALDERSHOT TOWN
Cheltenham Town had to come from behind to draw with lowly Aldershot at Whaddon Road.
Michael Hector almost gave the home side the lead in the seventh minute, but his left-footed shot hit the crossbar.
Aldershot took the lead against the run of play when Danny Rose converted Peter Vincenti's pass in the 23rd minute.
Cheltenham dominated the second half as they pushed for an equaliser. Marlon Pack fired over from eight yards, and substitute Kaid Mohamed was denied by Shots goalkeeper Jamie Young.
The deserved leveller was scored in the 67th minute. Keith Lowe's long throw into the box was flicked on by Sido Jombati, and Paul Benson's looping header dropped over Young.
Aldershot's Anthony Tonkin was then sent off for a second bookable offence, but Mark Yates' men couldn't find the winning goal.