Competition hosts Brazil overcame Argentina on Tuesday to advance to the final and the Selecao have now been joined by Ricardo Gareca's side, who will be bidding to win the competition for a third time.
Peru had made the final four despite winning just one of their four matches in normal time, but it was the third time in the last four Copas America that they had managed to reach the semi-finals.
Gareca's side had a golden chance to make the breakthrough in the second minute when Christian Cueva was released by Guerrero inside the Chile box, but the number eight could only poke wide of the post.
There was hardly time to draw breath in the first 20 minutes as both teams continued to commit players in the final third of the field, with Peru in particular causing a lot of problems with their pace and movement.
Flores was next to come close as the number 20 sent one wide of the post following another break.
The attacker did not have to wait long for another opportunity, however, and this time he took it - firing home at the back stick after Andre Carrillo had met a dangerous delivery from Cueva.
Peru continued to find acres of space in the area between Chile's back four and midfield three, with Flores striking another attempt towards goal in the 27th minute with Los Incas chasing a second.
The defending champions almost levelled from a freak Alexis Sanchez corner in the 32nd minute, but Guerrero was back to clear off the line during an incredibly open period of the match.
Instead, it was Peru that scored the game's second goal, with Yotun on hand to convert into an empty net after Chilean goalkeeper Gabriel Arias had sprinted out wide to confront Carillo, who managed to deliver a cross.
Chile might have halved the deficit late in the half when Jose Fuenzalida met a corner from the right, but the 34-year-old saw his effort pushed over the crossbar by Gallese as Peru led by two goals at the interval.
The defending champions came close once again early in the second half when Eduardo Vargas met a cross from Aranguiz, only to see his clever effort come off the post before being cleared to safety.
Aranguiz had an effort of his own just before the hour, with the midfielder seeing a low strike deflected wide.
Peru should have wrapped up the contest moments later when a slick move ended with Cueva finding Yotun free inside the penalty box, but the number 19 somehow blazed over the crossbar.
Aranguiz was always dangerous for Chile and only just missed the crossbar with a clever attempt in the 65th minute, before Gallese made a brilliant save to tip an effort from Beausejour over the crossbar.
La Roja continued to force the issue as the match headed for its final 15 minutes, but a mixture of luck and strong defending allowed Peru to hold firm in a defensive position.
Chile had another excellent opportunity in the 76th minute when Vargas broke into a one-on-one situation with Gallese, but another fine piece of goalkeeping from the 29-year-old kept the number 11 out. Gallese then made another terrific stop to deny Sanchez five minutes later as another chance came and went.
The pressure from Chile continued into the latter stages, but Peru scored a third in the first minute of additional time when Guerrero rounded Arias before finding the back of the net.
Reinaldo Rueda's team had the chance to give their fans something to cheer from the penalty spot in the latter stages when Luis Abram brought Aranguiz to the deck. Gallese, however, capped off a stunning night by keeping out Vargas's weak attempt.
Peru and Brazil met in the group stages of this summer's competition and the Selecao, who will be the overwhelming favourites to triumph on Sunday, recorded a thumping 5-0 win.
CHILE (4-3-3): Arias; Isla, Medel, Maripan (Castillo 89'), Beausejour; Aranguiz, Pulgar, Vidal; Sanchez, Vargas, Fuenzalida (Sagal 46')
PERU (4-2-3-1): Gallese; Advincula, Zambrano, Abram, Trauco; Tapia, Yotun; Carrillo (Polo 71'), Cueva (Ballon 80'), Flores (Gonzales 50'); Guerrero