And now, they must beat England on Friday and hope Australia beat Argentina to play in the final of the 27th Edition.
Yesterday, India took a lead off Shilanand Lakra in the 10th minute, when he picked a cross from Gurjant Singh in front of Hafizuddin Othman and cooly lifts the ball over the goalkeeper and into goal.
Faizal Shaari scores the equaliser in the 33rd minute, but goals from Gurjant Singh (42nd, 57th) and Ramandeep Singh (48th, 55th) destroys Malaysia.
In an earlier match, World champions Australia booked a place in Saturday’s final when they beat Ireland 4-1 for 12 points from four matches, with a match against Argentina in hand Friday.
Jake Whetton (11th), Daniel Beale (14th), Govers (21st) and Jake Harvie (50th) scored for Australia while Shane O’Donoghue scored for Ireland in the 57th minute.
Australian coach Colin Batch said: "The weather was a little hot in the first half (direct 4pm sun) but we play again on Friday against Argentina at the same time.
"If we can play like these six matches in eight days, its an amazing preparation for us towards the Commonwealth Games, Champions Trophy and World Cup."
England and Argentina played out a 1-1 draw, making it more difficult for the Olympic champions to play in the final.
Argentina have to beat Australia on Friday for a shot at the gold medal.
Juan Gilardi scored for Argentina in the 40th minute, while David Condon equalised for England in the 56th minute.
RESULTS: Australia 4 Ireland 1, Argentina 1 England 1, Malaysia 1 India 5.
THURSDAY: REST DAY.
FRIDAY: Argentina v Australia (4pm), Ireland v India (6pm), Malaysia v England (8.30pm).
P W D L F A Pts
AUSTRALIA 4 4 0 0 15 5 12
ARGENTINA 4 2 1 1 10 8 7
MALAYSIA 4 2 0 2 8 10 6
ENGLAND 4 1 2 1 7 7 5
INDIA 4 1 1 2 10 9 4
IRELAND 4 0 0 4 6 17 0