Prayag surged ahead as striker Md Rafique slotted home in 26th minute from a corner kick effort, but Saprissa forward Jonathan equalised a minute later.
The first semifinal match went into extra time after the teams were locked 1-1 in the scheduled 90 minutes of play.
During extra time, substitute Keyne Vincent scored the winner in 97th minute following a cross from Rafique, who excelled on the pitch for some defence splitting throughs and was adjudged Man of the Match.
New Zealander Vincent was fielded by Prayag's Dutch coach Eelco Schattorie in place of mercurial Ranti Martins in the 80th minute for home team.
Saprissa, a second string side of the Costa Rican premier division league, got some good chances but their upfront players failed to capitalise them.
Prayag United too had several fine opportunities to score in both halves but Ranti Martins and Costa Rica's former World Cup player Carlos Hernandez missed them.
Referee Ajit Metei flashed six yellow cards on Prayag players, which may affect their play in the final.
The second semifinal will be held between holders East Bengal and Mohun Bagan at Salt Lake Stadium on Sunday under floodlight. The final will also be held there on March 20.
Meanwhile, East Bengal, who arrived late on Thursday from Vietnam after playing AFC Cup there, had urged the IFA to defer the second semifinal due to fatigue of their players.
IFA secretary Utpal Ganguly, however, said the match would be held as per schedule on Sunday.
IFA Shield: Prayag United beat Deportivo Saprissa to enter final
Advertisement