Ospina pulled off a superb save deep into injury time to deny Peru a goal before saving a spot-kick from Peru defender Miguel Trauco in the shoot-out to clinch a nailbiting win for Colombia.
A largely disappointing quarter-final in front of 79,194 fans at East Rutherford’s MetLife Stadium was settled in penalties after the two sides finished 90 minutes deadlocked at 0-0.
After Colombia drilled their first three penalties, the tide turned in their favor when Trauco saw his effort blocked by Ospina.
Sebastian Perez then scored Colombia’s fourth penalty to put his 4-2 up and when Peru’s Christian Cueva blasted his spot-kick over the bar Colombia were through.
Victory was especially sweet for Colombia, who had exited the competition last year at the same stage to Argentina.
They will now play either Mexico or Chile in the semi-finals in Chicago next Wednesday.
The tone for a niggly encounter was set in the first 18 minutes, which saw no fewer than 11 fouls committed, mostly coming from Peru.
The stop-start nature of the contest hampered Colombia’s attempts to build momentum and made for a mostly frustrating half for the talented 2014 World Cup quarter-finalists.
Carlos Bacca was the first to threaten the Peru goal, but his shot from a tight angle after seven minutes hit the post.
The best chance of the half came after 22 minutes, when Real Madrid star James Rodriguez picked up the ball in midfield and advanced towards goal before letting fly with a curling low shot from 20 yards.
The strike flew past Peru goalkeeper Pedro Gallese but agonizingly for Rodriguez it struck the foot of the right hand upright and cannoned back across the goal. Bacca pounced on the rebound but his shot went just wide.
Peru almost snatched victory deep into injury time however through Christian Ramos’ header but Ospina however was equal to the challenge -- pulling off his first save of the night to tip over the bar to take the game to penalties.