Dan Morgan gave Waitakere a 3-1 lead, but Nicolas Zambrano and Tom Jackson quickly responded for Team Wellington to tie proceedings once more.
Morgan's second put Waitakere back in front with 10 minutes to go, and when Team Wellington's Guillermo Moretti recieved a second yellow card it looked as if Waitakere would book a spot in the final.
Wellington wouldn't be denied however, with Jackson slotting home his second penalty of the contest to send the game to extra-time.
There, the goals kept flowing, with Dylan Stansfield immediately putting Team Wellington back in front, but Joel Stevens pegged it back to 5-5 in the 113th minute.
Remarkably, with 10 men, Wellington went in front in the dying stages, as Stevens scored a stunner. But as it had to be, Reinhardt got his hat-trick in injury time to send the game to penalties.
There, Wellington keeper Scott Basalaj stepped up, making three saves as both sides struggled to convert from the spot.
Gulley had a chance to win it but was saved, but Scott Hilliar blasted his attempt over the bar, giving Kirwan the chance to win it in sudden death.
He calmly tucked away his penalty, becoming the hero as Team Wellington celebrated their trip to the final.
They will take on Auckland City next Sunday in a re-match of last year's clash which saw Wellington win their first title.