Nolito appeared as a late second-half sub in front of a sell-out crowd.
On-loan City keeper Joe Hart gave Spain skipper Silva and early shoulder barge as he collected a cross – followed by an exchange of smiles between the two former team-mates.
England went ahead after just nine minutes when Pepe Reina brought down Jamie Vardy which gave the referee a simple decision and Liverpool’s Adam Lallana converted the spot-kick.
Stones was comfortable and untroubled throughout and Sterling was brimming with confidence on the left flank, wowing the Wembley crowd with some terrific first-half wing play, though the City forward picked up a yellow card for his troubles.
England soon doubled the lead after the break with Jamie Vardy heading home Jordan Henderson’s cross on 51 minutes to all-but end Spain’s hopes.
Silva went close on 56 minutes with a low drive that second-half sub Tom Heaton did well to keep put, but La Roja generally posed little threat in the final third.
Silva went off after 64 minutes having given a good shift for his country and Sterling was subbed a minute later to warm applause.
Stones was a dominant presence at the back, particularly in the air and will have done his reputation no harm.
Nolito came on after 78 minutes for the Spanish who scored twice in the final minutes through Aspas on 89 minutes and Isco with the last kick of the game as Gareth Southgate edges closer to a permanent role as the national team boss.
Elsewhere in the early evening kick-offs, Germany and Italy shared a 0-0 draw in Milan with Ilkay Gundogan getting another productive 90 minutes under his belt.
The Germans were hanging on somewhat in the closing stages and Ilkay was booked for simulation, but Joachim Low’s side held on for a draw.
In Kharkiv, Ukraine beat Serbia 2-0. There was still no Aleks Kolarov for the Serbians but City’s Oleksandr Zinchenko came on as a 77th-minute sub.
Our round-up of South American World Cup Qualifiers, all which will end in the early hours, will appear on mancity.com in the morning.