Ross Barkley gav Everton en drömstart på matchen. I den 18:e minuten kontrade Liverpool-laget in 1-0. Barkley hittade nätet med ett skott från en position utanför straffområdet.
Kort därefter kvitterade dock Manchester City, genom Fernandinho med ett skott som touchade en motståndare och gick in i mål.
I paus stod det 1-1.
I den 70:e minuten satte City 2-1 genom Kevin De Bruyne efter assist av Raheem Sterling.
Några minuter senare nickade Sergio Agüero in 3-1 till Manchester City, ett mål som innebar att de ljusblå tog sig till final eftersom man sedan höll tätt.
Oroande för Manchester City är dock att belgaren Kevin de Bruyne skadade sig mot slutet av matchen och fick bäras ut på bår.
För City väntar nu Liverpool i finalen på Wembley den 28 februari.
Manchester Citys startelva: Caballero; Zabaleta, Otamendi, Demichelis, Clichy; Fernandinho, Delph; Silva, Toure, Sterling; Aguero
Evertons startelva: Robles; Stones, Jagielka, Funes Mori, Baines; Cleverley, Barry; Deulofeu, Barkley, Osman; Lukaku