Australia stayed on course for their fifth successive title, setting up a final against Olympic silver medallists Netherlands, who outplayed Pakistan 5-2 in the other semifinal.
India's Cinderella run came to an end, but they stay in contention for their first Champions Trophy medal in three decades. India will now take on Pakistan on Sunday, in a sub-continental clash for the bronze medal.
India's only Champions Trophy medal, a bronze, came in 1982. Pakistan edged past India to claim bronze medals for three successive years from 2002-04.