Pakistan avenged their Asian Games final loss when they beat India 4-3 in Bhubaneswar on Saturday to enter the Champions Trophy hockey final.