Belgium had defeated the same opponents 6-0 in their Group J opener in September and were expecting another easy win.
But instead, they were stunned in the first half when Kazakhstan took the lead through 17-year-old Dastan Satpayev, who fired a shot past Matz Sels at the near post.
Temirlan Anarbekov made some excellent saves to stop Belgium, but they equalized early in the second half when Hans Vanaken headed in a Timothy Castagne cross.
Kazakhstan, already eliminated from qualifying, was later reduced to 10 men when Islam Chesnokov was sent off.
Manchester City's Jeremy Doku missed a good chance as Belgium moved towards the winning goal that would have ensured automatic qualification, but Kazakhstan defended well to secure a highly impressive draw.
Belgium remains top of Group J and will secure qualification with a win at home against Liechtenstein on Tuesday.
However, this result will give some hope to the chasing teams as North Macedonia is in second place, two points behind Belgium, and Wales is in third – they face Liechtenstein on Saturday.