Samoa booked their place in the Pacific Nations Cup Final when they claimed a nail-biting 21-20 win over Canada in Toronto on Wednesday.
As the scoreline suggests, this was a hard-fought battle and the visitors clinched victory in the dying moments when replacement prop Sakaria Taulafo scored the match-winning try.
Taulafo pounced on a knock-on by the hosts, at a line-out close to their try-line, and dived over from close quarters. The result means Samoa will face Fiji in the Final on Monday.
Things could have been so different, however, as Canada thought they had secured victory when their right wing Phil Mackenzie scored a try with four minutes left on the clock.
James Pritchard added the extras which gave Canada a 20-16 lead. That scoreline meant that a Canadian victory would secure Tonga a place in the final after they beat the USA earlier in the day.
Canada made a superb start thanks to a converted Nick Blevins try and two penalties from Pritchard which gave them a 13-0 lead. Samoa replied via a penalty from Michael Stanley which meant the hosts led 13-3 at the interval.
The visitors were fastest out of the blocks after the break and Anthony Perenise scored a try which Stanley converted before the fly-half added two further penalties which meant Samoa held the lead for the first time with the score at 16-13.
Mackenzie's late try then restored the home side's lead before Taulafo broke Canadian and Tongan hearts with his five-pointer at the death.
Tries: Blevins, Mackenzie
Cons: Pritchard 2
Pens: Pritchard 2
Tries: Perenise, Taulafo
Pens: Stanley 3
Canada: 15 James Pritchard, 14 Phil Mackenzie, 13 Conor Trainor, 12 Nick Blevins, 11 Matt Evans, 10 Nathan Hirayama, 9 Phil Mack, 8 Tyler Ardron (captain), 7 John Moonlight, 6 Kyle Gilmour, 5 Evan Olmstead, 4 Tyler Hotson, 3 Doug Wooldridge, 2 Ray Barkwill, 1 Djustice Sears-Duru.
Replacements: 16 Benoit Piffero, 17 Hubert Buydens, 18 Andrew Tiedemann, 19 Callum Morrison, 0 Thyssen de Goede, 21 Richard Thorpe, 22 Gordon McRorie, 23 Harry Jones.
Samoa: 15 Ahsee Tuala, 14 Sinoti Sinoti, 13 Paul Perez, 12 Faialaga Afamasaga, 11 Alesana Tuilagi (captain), 10 Michael Stanley, 9 Pele Cowley, 8 Sanele Vavae Tuilagi, 7 TJ Ioane, 6 Faifili Levave, 5 Joe Tekori, 4 Filo Paulo, 3 Anthony Perenise, 2 Motu Matu'u, 1 Viliamu Afatia.
Replacements: 16 Andrew Williams, 17 Sakaria Taulafo, 18 Jake Grey, 19 Maselino Paulino, 20 Francis Ieremia, 21 Vavao Afemai, 22 Patrick Fa'apale, 23 Faleniu Iosi.
Referee: Angus Gardner (Australia)