Tampines Rovers moved through to the final of the 2016 Singapore Cup after a 3-2 extra-time win over Ceres La Salle in the second leg of their semifinal saw them progress 5-3 on aggregate.
The scores were level 3-3 overall at the end of 90 minutes before the Singaporean outfit scored twice in the additional period.
Philippines international Stephan Schrock had opened the scoring for Ceres on the stroke of half-time from the penalty spot, only for Hafiz Abu Sujad to level the scores three minutes before the hour mark.
The visitors did reclaim the lead through a Patrick Reichelt strike in the 78th minute to force extra-time, but goals from Afiq Yunos and Saifullah Akbar were ultimately enough to hand Tampines victory.
The Stags remain firmly on track to win their first Singapore Cup since 2006. But they had to do it the hard way, coming up against a spirited Ceres side who never gave in, despite finishing the game with nine men.
Entering the game trailing 2-1 from last Sunday's first leg, Ceres looked very much a side up for the challenge. They welcomed back a trio of key players from suspension in Schrock, Manny Ott and Kevin Ingreso.
Right on the stroke of half-time, Ceres were awarded a penalty when Afiq handled a shot by Ott, paving the way for Schrock to convert from 12 yards.
It looked as though the invited side were now in the ascendancy. But they were pegged back in the 57th minute when Billy Mehmet cleverly chested the ball into the path of Hafiz, who made no mistake in firing home.
To their credit, Ceres kept coming at their opponents and reclaimed the lead on the night with 12 minutes remaining. Reichelt reacted quickest to Jeffrey Christiaens' excellent right-wing cross to prod his shot past Izwan Mahbud.
But just six minutes later, their hopes of victory were dealt a severe blow when they had Paul Mulders sent off for a second bookable offence, following his cynical trip on Jordan Webb.
In extra-time, things went from bad to worse for them as Reichelt was stretchered off after picking up a knee injury. So, with their three substitutions already used, Ceres had to carry on with just nine men.
The numerical advantage was eventually telling as Tampines reclaimed the aggregate lead in the 105th minute. Afiq popped up at the other end of the pitch to head Irwan Shah's cross into the top corner.
And eight minutes later, their progress through to the Singapore Cup final was secured. Webb did well to break free down the left and lay the ball off for Saifullah, who calmly finished into the back of the net.
"I'm ecstatic right now ... it's definitely a wonderful feeling," said a visibly delighted Tampines coach Akbar Nawas. "We only had 10 outfield players [from the senior squad] to choose from but the way they fought right up till extra-time, I couldn't have asked for more.
"When the time comes, then we'll worry about it but obviously, who doesn't want to win once you've reached the final?
Meanwhile, Ceres technical director Ali Go, filling in for suspended coach Risto Vidakovic, was proud of the fight his players had shown.
"It's been a good tournament and it was a good game for us," he said. "I think the players played very well and gave everything and we were still attacking when we were down to 10 men. "Tampines are a strong team and playing against them with 10 men was already difficult, let alone with nine."
Ceres La Salle: Louie Casas, Carli de Murga (Jeffrey Christiaens 55'), Jason Sabio (Jalsor Soriano 90'), Kim Sang-min, Kevin Ingreso, Paul Mulders, Martin Steuble, Stephan Schrock, Manny Ott (Arnie Pasinabo Jr. 75'), Bienvenido Maranon, Patrick Reichelt
Tampines Rovers: Izwan Mahbud, Ismadi Mukhtar, Jufri Taha, Afiq Yunos, Irwan Shah, Izzdin Shafiq, Jermaine Pennant, Hafiz Abu Sujad, Sufian Anuar (Saifullah Akbar 106'), Jordan Webb, Billy Mehmet (Shafie Muliantoh 114')