Both sides had plenty of chances to win the game late on, but it ended level, as both sides lost ground on second-place Tottenham Hotspur.
Here are five things we learned from the game...
Manchester City 1 Liverpool 1 player ratings
Manchester City 1 Liverpool 1 player ratings
1/22 Willy Caballero – 5 out of 10
Had a relatively quiet day – only conceding from Milner’s penalty.
2/22 Gael Clichy – 5 out of 10
He was crashing into challenges, defending bravely and winning every aerial challenge.
3/22 John Stones – 6 out of 10
Made a number of vital interceptions and clearances. Tough defending from the back.
4/22 Nicolas Otamendi – 7 out of 10
Failed to keep up with the City strikers pace, but made up for it with headers and clearances.
5/22 Gael Clichy – 5 out of 10
Gave away the penalty for Milner’s opener. Terrible decision for a man of such experience.
6/22 Yaya Toure – 6 out of 10
He was reading the game well from the middle of the park and opening the defence by spreading the balls wide.
7/22 Raheem Sterling – 6 out of 10
He used the width well, but he needs to be more clinical in front of goal.
8/22 Kevin De Bruyne – 7 out of 10
Deliveries were sublime and he was pumping balls into the forwards continuously. Assist for Aguero was world class.
9/22 David Silva – 7 out of 10
As always, he was picking the ball up and using possession tremendously. He’s quick, skilful and is a nightmare to play against.
10/22 Leroy Sane – 7 out of 10
As always, his pace caused problems for the Liverpool defence and he was an all round nuisance to play against.
11/22 Sergio Aguero – 6 out of 10
His goal levelled the scoring for Guardiola’s side, but he had a hard time today against the Liverpool central defenders.
12/22 Simon Mignolet – 5 out of 10
Made a handful of vital saves, but was beaten by Aguero in the second half.
13/22 Nathaniel Clyne – 6 out of 10
Had a tough afternoon against the pace of Sane, but he held his own and worked well.
14/22 Ragnar Klavan – 6 out of 10
Stuck tight with Matip and this kept Aguero relatively quiet.
15/22 Joel Matip – 6 out of 10
He made a number of crucial interceptions and clearances, but he needs to be careful when giving away fouls.
16/22 James Milner – 7 out of 10
Scored the opener after an encouraging display. He defended well and attacked relentlessly.
17/22 Adam Lallana – 6 out of 10
Defensively there is room for improvement, but going forward he passed well and created a handful of chances.
18/22 Emre Can – 5 out of 10
Was outplayed in the middle of the park at times by City’s midfielders. Needs to improve his aerial game.
19/22 Georginio Wijnaldum – 6 out of 10
Drifted in and out of the game at times. Needs to make more of an impact in the games against bigger clubs.
20/22 Sadio Mane – 8 out of 10
Was Liverpool’s biggest threat going forward – quick, skilful and he oozes confidence.
21/22 Roberto Firmino - 7 out of 10
Was the target for every Liverpool attack and when he received the service – he caused problems.
22/22 Philippe Coutinho – 5 out of 10
His deliveries were poor, particularly from set pieces. Needs to regain the fine form that the fans will be wishing for.
Klopp so often gets it right in the big games
Before Jurgen Klopp took over at Liverpool the club had won only one of their previous 16 away trips to Chelsea, Arsenal, Manchester City and Manchester United.
Heading into this match and the club have the best record against the top six in the entire league, going unbeaten in their nine previous matches against the Premier League big boys.
They may not have won at the Etihad but they did maintained this unbeaten record. Liverpool always deliver in the biggest games. Now Klopp just needs to figure out a way for his side to regularly break down teams who park the bus in the so-called 'smaller' fixtures.
John Stones is getting better
Stones has had to deal with more than his fair share of criticism this season. So how encouraging it was on Sunday evening to see the 22-year-old back to something approaching his best form, despite defeat to Liverpool.
Playing in between an out of position Fernandinho and a typically erratic Nicolás Otamendi, Stones was superb and denied Liverpool a certain goal in the first-half when he bravely threw himself in the way of Joël Matip’s shot.
He twice made significant interceptions, too, in a display that will go a small way to reassure City supporters that he was worth such a large investment, after all. When City reinvest in their defence this summer, expect Stones to get even better.
James Milner isn't welcome in Manchester
A glance at James Milner’s career record and you would safely assume the English veteran is still warmly received in the blue half of Manchester. The player spent five years at City after signing from Villa in 2010, winning two Premier League titles, the FA Cup and the League Cup with the club.
Milner eventually left for Liverpool on a free-transfer in 2015 – but City supporters weren’t happy to have him back at the Etihad. Instead, his every touch was jeered.
The reason? Perhaps it was something to do with Milner this week saying the current Liverpool team are better than the City side that won the Premier League in 2014. Either way, he silenced the boos when he scored against his old team in the second-half, confidently sending Willy Caballero the wrong way from the penalty spot.
Yaya Toure still a risk in the biggest games
Since his first-team exile was ended by Pep Guardiola in November, Yaya Toure has been utterly superb for Manchester City, deployed in an initially unfamiliar holding midfield role.
Toure – who was City’s busiest player in the first-half of this match – had another good game, always assured in possession and willing to drop into deeper positions to help his centre-backs. But his first-half tackle on Emre Can, where the Ivorian needlessly planted his boost into the midfielder’s chest, was a moment of stupidity and he was fortunate to only be booked. Shortly afterwards, Toure very nearly conceded a penalty.
He may have improved his game but he remains prone to moments of impetuousness. And in this huge game City were fortunate it did not cost them.
Philippe Coutinho has to be dropped
Once again, Philippe Coutinho was virtually anonymous for Liverpool. With the club battling so hard to cement a place in the top four, they cannot afford to be carrying any passengers at this pivotal stage of the season. Klopp has to drop his playmaker.
On £200k a week, the Brazilian may be the club's highest-paid player, but he has struggled desperately since returning from injury and has had remarkably little impact on Liverpool's games in recent weeks.
Klopp should gamble. Drop Coutinho for the crucial Merseyside derby after the international break and possibly even for the two or three games that follow it. That gives Coutinho time to rest and get himself up to full fitness before the blood and thunder of the league run-in.Reuse content