Peru ended Chile’s hopes of winning a third consecutive Copa America title as they reached a first final since 1975 with a comfortable semi-final victory.
Edison Flores and Yoshimar Yotun scored first-half goals and Paolo Guerrero added a late third for Peru, while Chile missed an injury-time penalty.
Peru meet hosts Brazil in the final on Sunday, after they beat Argentina 2-0.
“We’ve come through some tough moments in the Copa and we deserve to be in the final,” said Peru coach Ricardo Gareca.
Peru’s performance came one match after they were thumped 5-0 by Brazil in their final group game and Gareca, 61, added: “We managed to overcome the huge adversity that was this defeat, and that was hastily judged and provoked a wave of harsh criticism.”
Chile squandered a number of chances – including the late penalty with Eduardo Vargas’ attempted ‘Panenka-style’ spot-kick saved by in-form Peru goalkeeper Pedro Gallese.
Peru, who beat 15-time winners Uruguay on penalties in the quarter-finals, opened the scoring in the 21st-minute when winger Flores nodded in from a corner.
Left-back Yotun volleyed in a second before the break, to punish a mistake by Chile keeper Gabriel Arias.
Guerrero completed the victory in injury time over a Chile side ranked 16th in the world, five places above Peru.
Chile manager Reinaldo Rueda was unable to explain his side’s performance, following their penalty shootout win over Colombia in the quarter-finals and said Peru “surprised” them.
“I don’t know what factors could have influenced these first 20 minutes that made the difference,” said the Colombian.
“Mentally we wanted to play the final without dealing first with this step and Peru surprised us.”
Chile had been aiming to win a third title on the bounce, a feat not achieved since Argentina managed it from 1945-47.
The Copa America final takes places at Rio’s Maracana Stadium on Sunday, 7 July at 21:00 BST.