A backpass from Manchester United defender Gary Neville, bounced of the right foot of goalkeeper Paul Robinson, gave Croatia a 2-0 lead.
Da Silva gave Croatia a 1-0 lead in the 60th minute, after he converted a precise cross from Niko Kovac. The forward met the cross, and looped a header over the England goalie.
England coach Steve McClaren started the match in a 3-5-2 formation. In the 71st minute, he made a triple subsitution, bringing on Jermain Defoe, Shaun Wright-Phillips and Kieren Richardson for Peter Crouch, Parker, and Carragher, and changed to a 4-4-2 formation.
But the changes made little impact to the match, and England left Zagreb humiliated by Croatia.
Pletikosa, Simic, Simunic, Robert Kovac, Corluka, Rapaic, Nico Kovac, Modric, Kranjcar, Klasnic, Petric. Subs: Runje, Babic, Balaban, Knezevic, Leko, Seric.
Robinson, G Neville, A Cole, Carragher, Ferdinand, Terry, Carrick, Lampard, Parker; Rooney, Crouch. Subs: Kirkland, P Neville, Richardson, Jenas, Wright-Phillips, Defoe, Bent.