James Milner
Milner to swap Manchester for Merseyside after accepting Liverpool's contract offer. (Getty)

Liverpool have confirmed they have struck a deal with James Milner, who will join the club from Manchester City on a free transfer.

The 29-year-old England international will join the Merseyside club on 1 July, subject to a medical, when his deal at the Etihad Stadium expires.

Arsenal and Manchester United had also been linked with the versatile midfielder.

City boss Manuel Pellegrini was keen to retain the services of the former Leeds United, Newcastle United and Aston Villa midfielder, but the lure of regular first team football on Merseyside will see him become a Liverpool player next month.

Reports also suggest the player was keen to remain in the north west, where his family is settled.

A short statement from Liverpool read: "Liverpool Football Club are delighted to announce they have agreed a deal to sign Manchester City's James Milner, subject to a medical.

"The Reds have agreed personal terms with the England international, who will join the club on a free transfer on 1 July after his contract at the Etihad Stadium has expired."

Milner becomes Brendan Rodgers' first signing of the summer after the manager was reportedly told he will continue his reign in charge by owners Fenway Sports Group in a meeting last week.

Milner spent five seasons at City where he won two Premier League titles, an FA Cup and a League Cup.

Last season he was handed starting roles against Manchester United, Chelsea and Barcelona in home and away games in the Premier League ad Champions League.