Britain's Vicky Holland claimed gold in Montreal to close the gap on Katie Zaferes at the top of the World Triathlon Series leaderboard.
The 32-year-old finished in one hour 59 minutes 30 seconds, with American Zaferes claiming silver.
Zaferes remains the series leader after the penultimate event with 4,418 points, while Holland is second with 4,384 after her win in Canada.
Britain's Georgia Taylor-Brown, who is third in the standings, took bronze.
The Grand Final takes place from 12-16 September on Australia's Gold Coast.
Holland, who won individual bronze at the 2016 Olympics, has never won a world title.
She won silver in the Bermuda leg of the event in April, before going on to claim gold in Leeds and Edmonton.
"I've won three races this year - that's more than I could ask for," Holland told BBC Sport.
"It's all to play for on the Gold Coast and that's a really exciting prospect."
Britons Jodie Stimpson and Jessica Learmonth finished sixth and eighth respectively in Canada.