Goals from Sindre Walle Egeli, George Hirst and Ivan Azon lifted Ipswich to fourth place as Coventry suffered only their second away defeat of the season.
Frank Lampard's side are still seven points clear of second-placed Middlesbrough, who won 4-1 at Hull on Friday.
Mihailo Ivanovic's second-half strike gave third-placed Millwall a stormy 1-0 victory at play-off rivals Bristol City.
Ivanovic netted in the 59th minute when City goalkeeper Radek Vitek made a double save from Femi Azeez, only for the Serbian striker to fire home from eight yards.
City had a last-gasp equaliser controversially disallowed for offside before the final whistle was followed by a mass brawl featuring staff and players from both clubs.
Leicester powered to a 3-1 win at East Midlands rivals Derby thanks to goals from Bobby De Cordova-Reid, Oliver Skipp and Jordan James.
Derby pulled one back through Sondre Langas, but Leicester held on to ease the pressure on manager Marti Cifuentes.
Rumarn Burrell scored twice as QPR beat West Bromwich Albion 3-1 at Loftus Road.
Harrison Armstrong, on loan from Everton, came off the bench to rescue a 1-1 draw for fifth-placed Preston against Wrexham at Deepdale.
A Charlton fan died after being taken ill during an abandoned match against Portsmouth at The Valley.
The game was halted in the 13th minute with the score at 0-0 due to a supporter requiring medical assistance.
Paramedics attended to the supporter before the match was later abandoned.
"The club are devastated to report that a Charlton Athletic supporter has died following a medical emergency during today's game at The Valley against Portsmouth," a statement read.
Blackburn were leading 1-0 against Sheffield Wednesday when the match was abandoned after an hour due to a waterlogged pitch at Ewood Park.
