England 3-1 Croatia
David Beckham marked his return to England duty after moving to Real Madrid by inspiring Sven-Goran Eriksson's side to victory against Croatia.
Captain Beckham gave England an early lead from the penalty spot and set up Michael Owen's header for the second before being substituted to a standing ovation at Portman Road.
But England coach Eriksson will not have been totally satisfied by another uncertain defensive display on a night when the over-reliance on Beckham and Owen was emphasised once more.
Croatia had a succession of opportunities to punish England in the first half, only to be denied by goalkeeper David James.
Ivica Mornar pulled a goal back for Croatia late on, only for substitute Lampard to wrap up England's win with a spectacular long-range strike.
But Eriksson has much to work on defensively before England embark on their crucial Euro 2004 qualifiers in the coming months.
Beckham crowned his return to international service by putting England ahead from the penalty spot after only eight minutes.
It was a nightmare moment for Croatia defender Josip Simunic, who inexplicably handled Beckham's cross under little pressure from the lurking Owen.
8 mins: David Beckham gives England the lead from the penalty spot
26 mins: Injured Nicky Butt is replaced by Frank Lampard
50 mins: Michael Owen heads England's second
78 mins: Ivica Mornar pulls a goal back for Croatia
80 mins: Frank Lampard strikes a spectacular third for England
Beckham dispatched the penalty with customary expertise - but it was the high spot of a dismal first 45 minutes for England.
England's defence, with John Terry making his first start, was constantly exposed by Croatia, particularly on the left flank as Ashley Cole was left constantly isolated.
The cause was not helped by an injury to Nicky Butt, which saw him replaced by Lampard after only 26 minutes.
And it was only an excellent display from goalkeeper James that kept England on level terms at the interval.
Ivica Olic's cross was headed over by Milan Rapaic, and James was forced to plunge bravely at Olic's feet as Croatia threatened again.
England had a double escape nine minutes before the break as Croatia exerted almost total supremacy.
James saved brilliantly from Marijo Maric's header, and then reacted to save well from Olic after Beckham's attempted back-pass fell desperately short.
Eriksson's concern was reflected in only a single half-time change, with the over-worked James being replaced by Leeds United's Paul Robinson.
England responded by doubling their advantage after 50 minutes - when their dependence on world class duo Beckham and Owen was demonstrated again.
Beckham delivered the perfect cross from the right flank and Owen arrived unmarked at the far post to bury a decisive header.
It was the signal for Eriksson to make his usual wholesale changes as he introduced five substitutes, with goalscorers Beckham and Owen among those taken off.
Southampton's James Beattie got his chance with 15 minutes left when Emile Heskey ended another scoreless international night by limping off injured.
Croatia deservedly got on the scoresheet three minutes later when Mornar scored from close range.
But England bounced back in style to wrap things up after 80 minutes minutes left, Lampard sending a 25-yard drive into the top corner.
England: James, Phil Neville, Ashley Cole, Gerrard, Ferdinand, Terry, Beckham, Butt, Scholes, Heskey, Owen. Subs: Mills, Robinson, Bridge, Upson, Lampard, Murphy, Dyer, Joe Cole,
Beattie, Sinclair, Kirkland.
Croatia: Pletikosa, Simunic, Robert Kovac, Tomas, Zivkovic,
Simic, Marijo Maric, Rapaic, Leko, Olic, Niko Kovac. Subs:
Butina, Seric, Babic, Srna, Agic, Rosso, Mornar.
Referee: Claus Bo-Larsen (Denmark)