The 29-year-old, capped 53 times by his country, will join Liverpool on July 1 after his City contract expires. Liverpool have not disclosed the length of his contract.
“Liverpool Football Club are delighted to announce they have agreed a deal to sign Manchester City's James Milner, subject to a medical,” Liverpool announced on their website.
A graduate from Leeds United's youth academy, Milner played for Leeds, Newcastle United and Aston Villa before joining City in 2010 in a deal reported to be worth £26 million ($40 million, 35.3 million euros).
The versatile, hard-working player, who can operate right across midfield, has won two Premier League titles with City, in 2011-12 and 2013-14, as well as the 2010-11 FA Cup and the 2013-14 League Cup.
Milner, who will officially join on the day long-serving captain Steven Gerrard leaves for the Los Angeles Galaxy, is Liverpool's first signing of the close season.
Manager Brendan Rodgers is attempting to rejuvenate a squad that finished sixth in the Premier League this season, eight points off the Champions League places, having narrowly only missed out on the title in 2014.- AFP
Original source: Liverpool agree deal for Milner