By Gabriel Tan at the Hougang Stadium
Julien Durand put the Bulls ahead on the night six minutes after the hour mark when nodded home a cross from Mustaqim Manzur, before Nenad Bacina's men were reduced to ten men five minutes from the end when Stanislav Vidakovic picked up a second booking.
And with the aggregate score tied a 2-2, the game looked headed for extra-time until substitute Hafiz Rahim stepped up and fired home an 89th-minute freekick to send Gombak through to the last four of the competition for the first time in their history.
Having seen his side fail to convert their possession into goals in Tuesday's 2-1 first-leg defeat at the Jurong West Stadium, Gombak assistant coach Stephen Ng, taking charge of the side in place of the absent K. Balagumaran, opted to hand teenager Iqbal Hussain his first start since joining the club in mid-season.
And the 19-year-old nearly made an instant impact in the seventh minute, when he received a pass from Christopher Anderson and fired in a 20-yard strike that forced Fadhil Salim into a flying save.
Six minutes before the half-hour mark, Iqbal again showed his talent when he went on a bursting run down the right and made his way past Fazly Hasan, although he narrowly failed to pick out a team-mate with his cut-back.
Ten minutes later, the visitors created another good chance when K. Vikraman stole possession from Fazli Jaffar and drilled in a low cross that looked headed straight for Mustaqim, only for Cheetahs captain Lau Meng Meng to weigh in with a vital interception at the far post.
Gombak's display was beginning to resemble many of their games this season as they struggled to make the most of their dominance and right on the stroke of halftime, they nearly shot themselves in the foot when Zaiful Nizam and Obadin Aikhena got into a mix-up and the back and left Mamadou Diallo with a clear opening. Thankfully for the Bulls, Aikhena recovered in time and managed to put in a good block before the Hougang striker could fire into the unguarded net.
The Gombak skipper then came to his side's rescue once more in the 65th minute when he hooked away a firm header by Vidakovic from an Ante Barac freekick, and his intervention proved all the more vital as the Bulls edged ahead a minute later.
Picking up possession down the left, Mustaqim glided past Lau before whipping in a cross that was deflected straight to Durand, who cleverly guided his header past Fadhil and just inside the near post.
Watch: Highlights: Hougang 0-2 Gombak United.. More Videos
Nine minutes later, the Cheetahs nearly carved out a rare opening when Diallo almost raced in behind the Gombak backline, although Walid Lounis did extremely well to match the Guinean striker for pace and dealt with the threat.
Five minutes from time, Hougang were reduced to ten men when Vidakovic picked up his second caution of the game, and Bacina immediately switched to a defensive approach as his side looked to force the game into extra-time and perhaps penalties.
However, there was to be no denying Gombak in the 89th minute when Hafiz, who had only come on for the injured Nurullah Hussein five minutes earlier, lined up a freekick on the edge of the box and fired in a low shot that skidded off the greasy surface and into the bottom corner.
There was still time for Hougang to create one final chance when Sobrie Mazelan was picked out unmarked at the far post and unleashed a ferocious shot that was parried back out by Zaiful. The rebound fell straight to Barac, who looked odds-on to hit the back of the net from point-blank range, only for his effort to be blocked on the line by some desperate defending.
And as the final whistle went, the jubilation of the Gombak players was clear for all to see as they celebrated the club's first-ever semi-final appearance in the Singapore Cup.
Hougang United: Fadhil Salim, Lau Meng Meng, Hasree Zais, Stanislav Vidakovic, Fazly Hasan, Syaqir Sulaiman, Azhar Sairudin, Ante Barac, Mamadou Diallo, Fazli Jaffar, Basit Hamid (Sobrie Mazelan 63').
Gombak United: Zaiful Nizam, Ismail Yunos, Obadin Aikhena, Walid Lounis, Nurullah Hussein (Hafiz Rahim 84'), K. Vikraman, Adrian Dhanaraj (Muhd Amin 90'), Christopher Anderson, Mustaqim Manzur, Julien Durand, Iqbal Hussain (Jung Hee-bong 41').