Silva scored in the 14th minute when Jeremy Doku played a ball in behind the Toffees’ defence and Silva slid in to fire into the far corner from a tight angle.
But Iliman Ndiaye drew Everton level in the 36th when he took a touch to settle the ball, then unleashed a shot from the centre of the box to the top right corner.
City fans thought they had victory locked up when Erling Haaland stepped up to the penalty spot in the second half after Seamus Coleman’s tackle on Savinho, but goalkeeper Jordan Pickford dived correctly to save the shot.
Haaland headed home the rebound, but it was chalked off for offside.