Iain Lewers placed a penalty stroke into the left corner of the goal in the 66th minute to score England's match-winner and secure their second successive semifinal. (Agencies)
The stroke was awarded, leading to vehement protests by the Belgians, when a penalty corner shot struck the defender's foot on the goal-line.
The umpire blew the whistle for a stroke even as Barry Middleton smacked the rebound into the goal.
England, who needed a win to overtake Belgium for the second semifinal berth from Group A, were pressing hard after conceding an equalizer just three minutes earlier.
Australia topped Group A with five successive victories and England took the second spot with 10 points, leaving Belgium in the third place on nine points.
Belgium, who needed just a draw to make their maiden semifinals, thought they had done enough to go through when they got the 2-2 equaliser through a penalty corner conversion by Tanguay Cosyns in the 63rd minute.
But England pressed hard to force the Belgians on the defensive and got the late winner on the penalty stroke.
Earlier, Belgium took the initial lead through Thomas Briels in the 13th minute, only for Nick Catlin equalize six minutes later.
England went up four minutes into the second session with a field goal from Ashley Jackson, who has been grappling with a sore shoulder during the tournament.
Belgium were pressing for an equalizer, which came in the seven minute from the hooter, but they did not have enough time to recover after England got their penalty-stroke match-winner with just four minutes from the hooter.
Iain Lewers placed a penalty stroke into the left corner of the goal in the 66th minute to score England's match-winner and secure their second successive semifinal.