Newcastle failed to extend their lead at the top of the Championship as they were held to a goalless draw, while second-placed West Bromwich Albion could not break down Preston.
The Baggies could have gone top of the Championship, albeit temporarily, as they played before Newcastle in one of two early kick-offs.
But West Brom missed their chance as they were held to a goalless draw at Preston North End.
However, Newcastle could not move five points clear as they could not find a way past Bristol City at St James' Park.
With Preston only picking up a point, Middlesbrough took advantage as they won their first game in four with a 2-0 triumph at Reading - who are still yet to win at the Madejski Stadium under Brendan Rodgers.
Sean St Ledger headed Boro ahead in the first-half, before former Royals favourite Leroy Lita broke clear to fire home the winner.
Cardiff City also moved above Preston as they produced an outstanding display as they demolished Watford 4-0 at Vicarage Road.
Goals from youngster Adam Matthews, Jay Bothroyd and a brace from Peter Whittingham sealed the victory for the Bluebirds.
Sheffield United remain in sixth, despite being held to a 1-1 draw by South Yorkshire rivals Doncaster Rovers at Bramall Lane.
James Hayter had put Rovers ahead in the first-half but Richard Cresswell scored his fist goal for the club to seal a point.
The other early kick-off was in the Midlands as Leicester City came from behind to secure a 1-1 draw with Coventry City at the Ricoh Arena.
Sammy Clingan had given the Sky Blues a half-time lead, but loanee Martyn Waghorn fired home with 19 minutes remaining to seal a share of the spoils for Nigel Pearson's men.
Blackpool also missed the chance to rise into the play-off spots as they were comfortably beaten 4-1 at Crystal Palace.
The home side were two goals to the good at the break thanks to Alan Lee and Neil Danns. Alex Baptiste pulled one back for the Seasiders, but further goals from Darren Ambrose and Alassane N'Diaye sealed the win for Neil Warnock's men, who climb into the top half of the table.
Nottingham Forest climbed into the top half of the table as they came from behind to beat lowly Peterborough United 2-1.
Aaron McLean had put Posh ahead but Radoslaw Majewski and Paul Anderson struck early in the second half to grab the win for Forest.
Ipswich woePeterborough are now second from bottom after Plymouth grabbed a second successive win as they beat Scunthorpe United 2-1 at Home Park.
All the goals came in the second-half with efforts from Rory Fallon and an Alan Judge sandwiching a Gary Hooper penalty.
Ipswich Town remain bottom and winless after they were beaten at the death by Barnsley at Oakwell.
The home side went ahead through Iain Hume but Liam Rosenior levelled just before the break.
Barnsley looked to have blown it when Hume missed a penalty 10 minutes from time, but the Tykes grabbed a winner in injury time as Jonathan Macken scrambled the ball home.
Derby moved away from the foot of the table with a good 3-0 win over Sheffield Wednesday at Pride Park. Lee Croft, Jay McEveley and Rob Hulse grabbed the goals for Nigel Clough's side.
Paulo Sousa got one over on his former club Queens Park Rangers as Swansea sealed a 2-0 win at Liberty Stadium.
Mark Gower and Lee Trundle grabbed late goals as the visitors were reduced to nine men with Martin Rowlands and Ben Watson seeing red.