The 29-year-old, who has made 20 appearances for England, became surplus to requirements at City after they recently signed Spanish midfielder Rodri in a club record deal from Atletico Madrid.
Delph had one year left on his City contract and played 22 times in City's title-winning 2017/18 season. He featured in only 20 matches in all competitions last season as City won a domestic treble.
No financial details were disclosed but media reports said the fee was worth up to £10 million.
"The club that I've been at has had success, especially in the last two seasons, and over the last four years we managed to win trophies," he told the Everton website.
"I wanted to be playing more regularly and the opportunity to come and play for Everton Football Club was too good of an opportunity to turn down.
"I'm at an age now where I am probably one of the most experienced players, so hopefully I can bring that and try to help my team mates here to do better," he added.
Manager Marco Silva said Delph would bring quality and experience to a side that finished eighth last season.