The 29-year-old has been linked with a move to Anfield for several weeks and the move has now been confirmed ahead of his contract at City expiring at the end of this month.
Liverpool write that they have “agreed personal terms with the England international, who will join the club on a free transfer on July 1 after his contract at the Etihad Stadium has expired.”
The England international, who has won 53 caps, will add some much-needed experience to a midfield which, for the first time in 17 years will be without captain Steven Gerrard as he begins a new career in Major League Soccer with Los Angeles Galaxy.
The former Leeds United, Aston Villa and Newcastle United player is the first signing of the summer for Brendan Rodgers and is expected to be followed by Danny Ings next month too.
Liverpool are keen to get business done early this summer in order to ensure new signings are in place ahead of the new season, which begins on August 8th.
Milner is reported to have turned down better terms offered by City in order to move to Anfield, where he believes he can play more regularly after making just 18 league starts last season.
Milner will earn, according to The Guardian, around £150,000 per week at Anfield and has been lured by a “more regular role with Liverpool – and in his preferred central midfield position.”
Milner’s squad number has not been revealed, but with numbers 7, 8 and 11 all available this summer it’s likely he’ll take one of those, probably 7.
OPINION: Pros and cons of signing Milner