IPOH: Malaysia blew a chance of qualifying for the Azlan Shah Cup final when they were hammered 7-2 by England on Friday.
Earlier in the day, Australia defeated Argentina 3-1 to shut the door on the South Americans, and all Malaysia had to do was to beat England.
Malaysia will now play Argentina for the bronze, while England and Australia will battle for the title.
Stephen Van Huizen’s side defeated Argentina 2-1 in the round robin stage, but going by current form, the Olympic champions will start as favourites for third place.
Malaysia became a defensive nightmare as they conceded three goals in the first quarter after failing to convert two penalty corners.
Mark Gleghorne (10th and 48th minutes), Ollie Willars (11th), Barry Middleton (15th and 31st), Sam Ward (38th and 41st) netted for England, while Malaysia replied through Tengku Ahmad Tajuddin Tengku Abdul Jalil (50th) and Marhan Jalil (52nd).
Aaron Kleinschmidt (25th and 56th) and Trent Mitton (55th) netted for Australia in their win over Argentina, who scored a consolation through Gonzalo Peillat in the 21st minute.
Australia coach Colin Batch said: "Looking back, we played consistently throughout the round robin stage, though we did not start well today.
"They were playing well and credit to my players for bouncing back
"We know that consistency is what we want. We have never been a team that rely on only one player.
"We are looking forward to Saturday's final."
RESULTS: Argentina 3 Australia 1, Ireland 3 India 2, Malaysia 2 England 7.
Fifth-Sixth: India v Ireland (3.30pm)
Third-Fourth: Argentina v Malaysia (6pm)
Final: Australia v England (8.30pm).