City fell behind to Phillipe Coutinho's opener but Kompany pulled the hosts level before Negredo hit the winner, although Liverpool goalkeeper Simon Mignolet should have done better with the Spaniard's lofted effort.
The result also saw City become the first team to deny Luis Suarez a goal since the Reds' defeat at Hull on December 1, with the striker unable to add to his run of 10 goals in four league games.
The victory took City up to second place, ahead of Liverpool who dropped to fourth, and also meant Arsenal topped the table on Boxing Day night after their 3-1 win at West Ham.
The hosts threatened an upset at Upton Park when Carlton Cole fired them into a surprise lead, but two goals from Theo Walcott turned the match in the Gunners' favour before Lukas Podolski added a third late on.
Chelsea climbed to third after a 1-0 win over Swansea thanks to Eden Hazard's solitary strike, while Tottenham were held to a 1-1 draw in Tim Sherwood's first match since taking over as head coach on an 18-month contract.
Christian Eriksen's free-kick put Spurs ahead against West Brom but the hosts were pegged back within moments as Jonas Olsson netted.
Jay Rodriguez scored twice and set up a Rickie Lambert goal as Southampton heaped yet more misery on Cardiff manager Malky Mackay.
Mauricio Pochettino's Southampton swatted Mackay's men aside in Wales, top-scorer Rodriguez making the early inroads before Lambert completed a 3-0 drubbing.
Cardiff's fans started the day with a pre-match march against Vincent Tan, at the end of a week where the owner had relented from his decision to sack boss Mackay.
Loic Remy scored twice and missed a penalty as Newcastle overwhelmed nine-man Stoke 5-1 at St James' Park.
Remy's double and Yoan Gouffran's eighth league goal of the season helped the Magpies build on last weekend's 3-0 victory at Crystal Palace.
Yohan Cabaye notched a fourth while Papiss Cisse scored his first goal in 10 games as the Magpies eased home.
Stoke, who opened the scoring through Oussama Assaidi, had Glenn Whelan and Marc Wilson sent off in a frenetic first half, and those dismissals ultimately turned the game in Newcastle's favour.
Dwight Gayle's first goal in eight games stole a priceless 1-0 victory for Crystal Palace at Aston Villa, while Scott Parker's late strike secured Fulham's second win in six league games at Norwich.
Rene Meulensteen's men came from behind to claim 2-1 victory at Carrow Road after Gary Hooper's seventh league goal of the season and handed Norwich the lead after 13 minutes.
Pajtim Kasami tucked home a free-kick into to bring Fulham back on terms just past the half-hour mark, paving the way for Parker to win it late on.
Everton goalkeeper Tim Howard's red card gifted Sunderland a 1-0 victory at Goodison Park.
The American stopper struggled to deal with Leon Osman's undersold back-pass and paid the price when he tripped Black Cats midfielder Ki Sung-yueng.
Ki netted the resulting penalty, with Joel Robles unable to stop Sunderland taking the lead after replacing Osman.
It was a dream start but a nightmare finish for James Chester in the day's lunchtime kick-off, as he scored for both teams in Hull's 3-2 defeat to Manchester United.
Chester and David Meyler handed Steve Bruce's side a 2-0 lead after just 13 minutes at the KC Stadium but United drew level through Chris Smalling and Wayne Rooney.
The scores stayed locked until midway through the second half when Chester put through his own net under pressure from Rooney, and United held out for the victory despite Antonio Valencia's late dismissal.