Tokyo - India will now play for bronze.
World champions Belgium earned a spot in the men's hockey finals at the Tokyo Games after beating India 5-2 on Tuesday, giving the 2016 Rio Olympic silver medallists a fresh chance at securing a gold medal.
Belgium took the lead less than two minutes into the game when defender Loick Luypaert scored off a penalty corner.
Eight-time Olympic champions India, who last claimed the top prize at the 1980 Moscow Games, levelled the score and then pulled ahead not much later through goals from Harmanpreet Singh and striker Mandeep Singh.
But Belgium managed to equalise with a goal off another penalty corner from defender Alexander Hendrickx, who is the top scorer at the Tokyo tournament.
With 11 minutes left to go, Hendrickx lived up to his reputation as a superb drag-flicker by scoring his second goal off a penalty corner in the match, giving Belgium a 3-2 lead.
Hendrickx, who played with a bandage around his head to protect a wound on his forehead, then completed a hat-trick by scoring a penalty stroke, while veteran John-John Dohmen added another goal for Belgium in the final minute.
Belgium will now face Australia or Germany in the gold medal match on Thursday, while India will play for bronze.