The veteran midfielder spent last season on loan with the Toffees where he enjoyed a productive season, helping fuel the club's ultimately unsuccessful bid for Champions League football.
And Roberto Martinez has opted to sign the 33-year-old permanently after his contract with City came to an end, as the Spaniard aims to bolster his squad to make a renewed charge for the top four this season.
"I've learned so much from the boss, it's a great set of players and the fans are fantastic - everything about Everton feels right," said Barry upon completing the transfer.
"I'm delighted now that everything is signed and that I'm going to be spending the next few years at Everton.
"When you are on loan, it is never the same as being a signed player. I was really settled last year - but now I am an official Everton player and it feels really good.
"From the moment I signed last year I settled in straight away. There is a fantastic history here and it was brilliant working with the manager."Martinez added: "We all know the type of player Gareth is and the type of person he is. He will fit perfectly well into what we are at Everton."
Barry made 175 appearances in all competitions over five years with City, winning the FA Cup and Premier League during his time at the Etihad Stadium.
The former Aston Villa man has also been capped 53 times for England, though he was overlooked by Roy Hodgson for England's ill-fated World Cup campaign in Brazil.