The Samoans put off-the-field issues aside for the evening in bouncing back from last week's 24-13 loss to Italy. Upset at the Samoa Rugby Union's management style and pay, the 11th-ranked Samoans had threatened to boycott next week's game against England until the International Rugby Board stepped in.
Mike Stanley, in his first start for Samoa, kicked 13 points and the Pacific Islanders never trailed on a wet pitch at Stade de la Rabine.
The 17th-ranked Canadians, who had a much better second half, closed the gap to 16-13 with less than 10 minutes remaining but gifted the Samoans a try on the ensuing restart and never recovered.
Stanley made five of eight kicks — three penalties and two conversions. The New Zealand-born England-raised fly half, who qualifies for Samoa through his father, made his Samoa debut last week in the loss to No. 14 Italy that dropped the Samoans two places in the world rankings.
Replacement prop Anthony Perenise and back Winston Stanley — no relation to Mike or the former Canadian star winger of the same name — scored tries for Samoa.
Outside centre Conor Trainor scored Canada's lone try, which was converted by James Pritchard. Gordon McRorie added two penalties, including a long-range effort.
Samoa beat Canada 42-12 the last time the two met, two years ago in Wales.
The Canadian men wrap up their tour Nov. 22 in Bucharest against No. 18 Romania. The tour opened with a 28-23 loss to an all-star squad from the second-tier league of English rugby and a 17-13 win over No. 22 Namibia.
Samoa heads to London next for its date with No. 4 England at Twickenham.
Canada started poorly Friday, conceding four penalties in the first 12 minutes. Stanley put Samoa up 9-0 on three penalties before McRorie hit back with a kick from the halfway line.
Trainor was sent to the sin-bin in the 28th minute as referee Gordon Clancy produced the yellow card for persistent infringement by Canada. Samoa led 9-3 at the half.
A different Canadian side came out in the second half and attacked the Samoans, narrowing the gap to 9-6 with an early McRorie penalty kick.
Winger DTH van der Merwe made a fine run down the sideline, only to lose his balance on the wet turf. Canada missed another chance when McRorie dropped the ball near the goal-line after a slashing run by Trainor.
Perenise scored the first try of the game in the 60th minute, rumbling over the line. Trainor's converted try in the 71st minute drew Canada within three at 16-13 and it seemed game on.
But on the ensuing restart, Nanyak Dala's pass to Patrick Parfrey deflected back and Samoa recovered, with Winston Stanley going over the try.
English-born flanker Richard Thorpe came on in the 56th minute for his first Canadian cap. The London Welsh back-row forward qualifies for Canada since his mother is from Burlington, Ont.