Chances were otherwise few and far between, with Alisson Becker just about the busier of the two goalkeepers across the 90 minutes.
Relive how the 90 minutes of action unfolded with Sports Mole's live text coverage below.
STARTING XI: Alisson; Gomez, Lovren, Van Dijk, Robertson; Wijnaldum, Milner, Henderson; Mane, Salah, Firmino
SUBS: Mignolet, Fabinho, Keita, Sturridge, Shaqiri, Matip, Alexander-Arnold
STARTING XI: Ederson; Walker, Stones, Laporte, Mendy; Fernandinho, Silva, Bernardo; Mahrez, Aguero, Sterling
SUBS: Muric, Danilo, Kompany, Sane, Otamendi, Jesus, Foden
Jurgen Klopp: "I don't think it makes sense in this moment to think about the title. Manchester City is always tough, even when we won 3-0 in the Champion League. In the 4-3 [Liverpool win] they were really good. They never gave up even at 4-1 down. We have to be spot on, at our best to keep them away from our goal and create chances in front of our goal. It will be hard work, no problem with that, everybody knows it."
Pep Guardiola: "Liverpool will beat a lot of teams, not just Man City. Liverpool is one of the true greatest teams in England. We try to be close to them in terms of many, many things. [Klopp] has all the qualities that everybody knows about Liverpool. At the end, it's the teams and the clubs that win the game. I don't play against the manager, we play against Liverpool. He is an excellent manager, I have a lot of respect for the way he plays, his proactive teams."
LIVERPOOL SUBS: Mignolet, Fabinho, Sturridge, Shaqiri, Matip, Alexander-Arnold
MANCHESTER CITY SUBS: Muric, Danilo, Kompany, Sane, Otamendi, Jesus, Foden