The result means City now lead the table on goal difference, but have played a game more than rivals Liverpool. Both sides made changes heading into this encounter, with the hosts dropping Gylfi Sigurdsson and Richarlison to the bench after both had started in Saturday's defeat to Wolves. City also made changes, and were without Raheem Sterling and Kevin de Bruyne, preferring to start with a front three of Leroy Sane, Bernardo Silva and Sergio Aguero.
The visitors started the stronger, going close early on with a Laporte header going just wide. Minutes later they should have scored - David Silva cut the ball back to Ilkay Gundogan on the edge of the six yard box. All the German had to do was hit the target, but he could only find the Everton crossbar. The goal came just before half-time, and just as Everton were beginning to grow into the game. The visitors won a free-kick against the run of play, and it was swung in dangerously by David Silva. Arriving in the middle of the penalty area was Laporte, and the Frenchman powered a header into the top corner.
The Toffees began the second half as they had ended the first, and went close through a Kurt Zouma header and a free-kick from Lucas Digne. But just as they looked to ramp up the pressure on the City defence, they seemed to lose their momentum. Raheem Sterling came on and went close; his deflected shot dropping onto the roof of the net. As Everton's desperation grew they threw on Sigurdsson and Richarlison, and although the effort was there, the quality wasn't. City regained in control, and got their second in the last minute of added time. Gabriel Jesus was sent through on goal, but his shot was saved by Pickford. Luckily for the striker, the ball bounced straight back towards him, and he was able to nod into an empty net.
The result boosts City's title hopes and heaps more pressure on Everton manager Marco Silva, who was criticised following Saturday's defeat to Wolves. His side now lie ninth, but have lost four of their last five in all competitions.