Three Walcott goals in the 26th, 59th and 82nd minutes and a Wayne Rooney 64th-minute strike gave Fabio Capello's team the win tat Maksimir.
Croatia had the first real chance of the game in the 13th minute when David James' poor clearance fell to Vedran Corluka but the Manchester City man hit the side netting from a tight angle.
England's first chance came in the 23rd minute when Walcott met Rooney's perfect pass with a crossing volley towards Heskey, who seemed to be held by Robert Kovac and couldn’t get to the ball but the referee waved away England's calls for a penalty.
In the 26th minute England took the lead through the brightest player on the pitch. A mix up in Croatia's defense saw Danijel Pranjic's clearance hit Kovac and the ball fell nicely to Walcott who squeezed an accurate shot into the Croatian net.
Walcott nearly added a second in a similar fashion less than two minutes later, this time a nice England move found the 19-year-old but his effort was saved by Pletikosa.
Another David James howler offered Croatia the chance to equalize in the 29th minute but Mladen Petric's effort from the lose ball was easily blocked by the England defense.
England started the second half on top and in the 52nd minute Kovac was harshly sent off after accidentally elbowing Joe Cole. The Chelsea player had to be replaced by Jermaine Jenas after Kovac's elbow left him with a bruised head.
Capello's men took full advantage and added a third in the 59th minute after a brilliant exchange of passes between Rooney and Heskey saw Rooney release Walcott on the right for the Arsenal man to register his second of the game.
Few minutes later, Ashley Cole ripped the ball off Corluka on the left flank and passed to substitute Jenas who squared to Rooney to score England's third goal.
England thought they netted a fourth through Lampard but the effort was bizarrely ruled out by Slovakian referee Lubos claiming Heskey fouled Simunic in the process.
The Croatians pulled a goal back against the run of play thanks to a move lead by Srna who released substitute Mario Mandzukic to score his first international goal.
The emphatic win was wrapped up with Walcott's third goal of the game on 82 minutes. Once again Rooney found the wonder-kid clear before the youngster slotted a left-footed shot past Pletikosa.
The big win leaves England joint top of group six with Ukraine on six points each, with Croatia dropping to fourth with three points from two games.