Canadian leaders campaigned in battleground districts Saturday, two days before a vote electrified by US President Donald Trump's threats, with Prime Minister Mark Carney favored after assuring voters he can stand up to Washington.
A victory for Carney's Liberal Party would mark one of the most dramatic turnarounds in Canadian political history.
On 6 January, the day former prime minister Justin Trudeau announced his plans to resign, his Liberals trailed the Conservatives by more than 20 points in most polls, and Tory leader Pierre Poilievre looked certain to be Canada's next premier.
But in the weeks after that, Trump rolled out a barrage of stiff tariff policies while repeatedly talking about absorbing Canada into the United States.
Outraged Canadians have since booed the American anthem at sporting events and cancelled US travel plans.
When Carney replaced the unpopular Trudeau on March 14, he anchored his message squarely on the threats from Trump.
The 60-year-old, who has never held elected office but led the central banks of Canada and Britain, has argued his global financial experience makes him the ideal candidate to defend Canada against Trump's volatile trade policies.
The prime minister spent the campaign's second to last day in the crucial province of Ontario, making stops in communities near Toronto that have previously swung between Liberal and Conservative.
"President Trump's trade war has literally ruptured the global economy and he has betrayed Canada," Carney told a rally in Mississauga, a city just west of Toronto.
"Canadians are over the shock of that betrayal but we should never forget the lessons," he added, before directing his attacks at Poilievre, who he argues lacks the experience and economic acumen to lead during a trade war.
"We don't need chaos, we need calm. We don't need anger, we need an adult," Carney said.
He will close the day with a rally in Windsor -- the hub of a Canadian auto industry hit hard by Trump's tariffs.
Frenetic campaigning
The Trump factor and the Trudeau-for-Carney swap unsettled Poilievre, a 45-year-old who has been in parliament for two decades.
But the Conservative leader has tried to keep attention on issues that drove anger towards the Liberals during Trudeau's decade in power, particularly rising living costs.
He was campaigning in the west coast province of British Columbia on Saturday before an evening rally in Ontario.
"You cannot handle another four years of this," he told supporters in Delta, British Columbia, reaffirming his message that Carney would bring a continuation of the Trudeau era.
"To the single mother whose fridge, stomach and bank account are all empty and doesn't know how she is going to feed her kids tomorrow, have hope change is on the way," he said.
Poilievre has also criticized Trump, but blamed poor economic performance under the Liberals for leaving Canada vulnerable to US protectionism.
Tightening race?
Polls project a Liberal government, but the race has tightened in its final days.
The public broadcaster CBC's poll aggregator has at various points given the Liberals a seven-to-eight point national lead, but on Saturday it put Liberal support at 42.5 percent, with the Tories at 38.7.
A crucial factor that could help the Liberals is the sagging numbers for the left-wing New Democrats and the separatist Bloc Quebecois.
In past elections, stronger support for those parties has curbed Liberal seat tallies in the key provinces of British Columbia, Ontario and Quebec.
A record 7.3 million of Canada's 28.9 million eligible voters cast early ballots over the Easter weekend, a 25 percent increase compared to 2021.
'A strange campaign'
For McGill University political scientist Daniel Beland, Conservative efforts to "change the subject of the campaign" away from Trump have largely failed.
Tim Powers, a political analyst, agreed the "strange campaign" full of surprises is not the one the Tories wanted.
They had hoped "there'd be more of a debate around affordability and all of the things that they were scoring points on," he said, adding Poilievre "envisioned a campaign where Justin Trudeau would be his opponent."
The winner should be known hours after polls close on Monday.