Peru beat Colombia 3-2 (25-19, 15-25, 22-25, 25-11, 17-15), while Brazil breezed past Venezuela 3-0 (25-14, 25-15, 25-23).
The final will be played on Sunday and the winners will earn a spot in the London Olympics.
“Colombia depend a lot on their opposite spiker,” Peru coach Luca Cristofani said in reference to Medelaynne Montaño, who scored an impressive 37 points in the semifinal. “But we played great; we won against Argentina, Venezuela and Colombia in three days.”