Hart joined City for £600,000 ($982,543) in 2006 and has since made 121 starts for the club, forcing Republic of Ireland international keeper Shay Given to move to top-flight rivals Aston Villa.
"I'm absolutely delighted to have signed a new deal and it is a very exciting time to be a City player," the 24-year-old Hart, a member of the side that beat Stoke in last season's FA Cup final to end City's 35-year wait for a major trophy, told the club's official website.
"I can't think of myself being anywhere other than City and it really feels like home," added Hart, between the posts for City's 3-2 defeat by local rivals and reigning Premier League champions Manchester United in the Community Shield at Wembley on Sunday.
"I feel very privileged to be staying here for another five years."
Meanwhile Hart paid tribute to Given by saying: "Shay's influence on me has been massive and being able to work alongside me has brought my game on tremendously.
"I've lost a close friend and a fantastic team-mate but I'll keep in touch and talk with him on a regular basis.
"Shay was always appreciative to the situation here at City and backed me all the way, as I would have done for him if the tables had been turned.
"I'll continue to learn from Shay even though he's now playing for Villa just by watching him on TV."
City, who finished third in the league last term, begin the new Premier League campaign at home to newly-promoted Swansea a week on Monday as they bid to win their first English title since 1968.
Joe Hart extends contract with Manchester City
Advertisement