Ashley Cole's horrendous 68th-minute error allowed the visitors to make it 2-1 and it was only when Kazakhstan tired in the final 15 minutes that England finally ran in three goals to make the game safe.
For long spells of the match, particularly in a goalless first half, England's attempts to build on last month's superb 4-1 win in Croatia looked set to fail.
After his heroics in Zagreb, Theo Walcott faded after making a bright start, while Matthew Upson was solid after being called into the starting line-up to replace the injured John Terry.
It could have been more straightforward for England if they had taken a third-minute lead when Walcott's cross from the right should have been turned in by Emile Heskey, only for the Wigan man to be denied by some last-ditch Kazakhstan defending.
However, England looked nervous at the back and a mistake by Cole let in Tanat Nuserbaev who dragged his shot across David James' goal wide.
Frank Lampard's shot was blocked after good play by Wayne Rooney but, as the first period wore on, England's passing started to go astray as murmurs of discontent in the crowd began to get louder.
After a goalless first half, it was the visitors that started the second period on top as England reverted to 4-4-2 with Gareth Barry making way for Shaun Wright-Phillips at half-time.
However, England finally made the breakthrough in the 52nd minute when Lampard's deep corner was headed home by the unmarked Rio Ferdinand.
The goal failed to settle the home side's nerves though and Nuserbaev went close to grabbing a shock equaliser until Alexandr Kuchma headed Lampard's free-kick into his own net to make it 2-0.
The hapless Cole then let the visitors back into the match when his attempted lofted back-pass to James fell straight to Zhambyl Kukeyev who beat the England goalkeeper with ease.
The Chelsea defender was then booed by the England fans every time he touched the ball as the Wembley mood turned sour.
Three goals in the last 14 minutes finally brightened the gloom though, with Rooney heading Wes Brown's 76th-minute cross home to make it 3-1.
As Kazakhstan wilted, Rooney helped himself to a second goal when he side-footed the ball home after substitute David Beckham's free-kick had caused all sorts of problems in the visitors penalty area.
In stoppage time Jermain Defoe grabbed the fifth goal when he broke free and fired a shot past Alexandr Mokin but England will need to improve if they are to continue their winning habit in Belarus on Wednesday.