In another quarter-final, The Netherlands were also made to work hard for a 3-2 win over New Zealand.
In the semi-finals, the Netherlands will face holders Germany, who beat Australia 4-3 in an evening match, while France will be up against Malaysia, who beat Korea 2-1, after the teams were locked 1-1 at half-time.
France scored through Victor Charlet (15th minute), Hugo Genestet (40th), Kierffer (48th, 65th) and Theophile Ponthieu (58th) to register a hard-earned victory.
Belgium's first goal came from an own goal in 29th minute, while Maxime Plennevaux (37th, 47th) and Dorian Thiery (42nd) were the other goal-getters.
Earlier, Thierry Brinkman (28th, 39th minute) scored from field goals, and Tom Hiebendaal converted a penalty stroke in the 42nd minute for the Netherlands.
The Black Sticks scored through Nicholas Woods, who converted a penalty-corner in the 38th minute, and Benedict van Woerkom (60th) from a field goal, but it was not enough to earn them a place in the semi-finals.
Meanwhile, in the play-off matches for 13 to 16 places, England beat Egypt 6-1 (HT 1-0), Spain beat Canada 3-2 (HT 2-1) and Pakistan bt South Africa 4-0 (HT 1-0).
Image: French players celebrate a goal
Photograph: Hockey India
Overseas investment by Indian firms at $2.28 bn in Nov
Jr WC hockey: Our boys gave away the match to Korea, says India coach
CL PHOTOS: Ronaldo sets record, Leverkusen, Olympiakos into last 16
Junior hockey WC: Batra apologises; takes responsibility for India's ouster
Jr hockey World Cup: Seungju You's 'trick' puts India out of reckoning