An absent Justin Trudeau was the primary target for opposition leaders Thursday during the first debate of the federal election campaign but his rivals managed to bloody one another as well.

Trudeau gave the Maclean’s/Citytv debate a pass, preferring to spend his time at a rally in Edmonton. Even before they took to the debate stage in Toronto, his rivals accused Trudeau of cowardice, afraid to defend what they described as his abysmal record.

WATCH: 2019 Federal Election – Scheer critical of Trudeau on foreign policy

0:49 Federal Election 2019: Scheer critical of Trudeau on foreign policy Federal Election 2019: Scheer critical of Trudeau on foreign policy

But some of the sharpest exchanges during the debate saw opposition leaders attacking each other, particularly the NDP’s Jagmeet Singh and the Greens’ Elizabeth May, who, polls suggest, are locked in a potentially existential battle for third place.

Story continues below advertisement

Both portrayed Trudeau’s Liberals and Andrew Scheer’s Conservatives as establishment parties that cater to the wealthy and vied to present themselves as the real progressive alternative.

Scheer, for the most part, kept his sights trained on Trudeau, lambasting him for running up massive deficits despite promising in 2015 that he would return the federal budget to balance after a few years of modest red ink.

He warned that a re-elected Liberal government will raise taxes to pay off the accumulating debt and promised a Conservative government would “live within its means” and return to budgetary balance within five years.

“By getting back to balanced budgets, we can lower taxes and put more money in your pockets, so that you can get ahead,” Scheer said. “That is what this election is all about: who do you trust to make life more affordable and help you get ahead?”

WATCH: 2019 Canada election campaign kicks off

2:06 2019 Canada election campaign kicks off 2019 Canada election campaign kicks off

But both Singh and May countered that Scheer would cut taxes for the wealthy and cut services for the rest. And, on foreign policy, they accused him of being a clone of U.S. President Donald Trump.

Story continues below advertisement

“I realize if anyone wants to know where you stand, just figure out what Trump wants, ” said May. “You will do what Trump wants. He might as well be the ventriloquist and you’re Charlie McCarthy.” Tweet This

“That’s just false,” countered Scheer.

(Charlie McCarthy was the doll in U.S. entertainer Edgar Bergen’s act, which was big from the 1930s to the ’50s.)

WATCH: First full day of federal election campaign

2:58 First full day of federal election campaign First full day of federal election campaign

Scheer dodged several questions from the debate moderator, Maclean’s columnist Paul Wells, about whether he still supports Brexit now that the United Kingdom’s move to leave the European Union is mired in chaos. But Singh took the opportunity to tie Scheer’s pro-Brexit sentiment with a broader anti-immigration sentiment, accusing Scheer of using “defamatory language” about refugee claimants arriving in Canada through unofficial border crossings and of having “some association” with anti-immigrant Yellow Vesters.

Story continues below advertisement

“That’s just not true. You’re just making things up,” Scheer said, insisting that Conservatives want a fair, orderly and compassionate immigration system.

Both Singh and May went after Scheer over Conservative senators’ blocking a bill that would have ensured Canadian laws conform to the United Nations Declaration on the Rights of Indigenous People. It stalled in the Senate and died with the election call.

Scheer defended his senators, arguing that Conservatives were concerned the bill would have required free, prior, informed consent of Indigenous communities for any resource project, effectively giving a veto to a single community that could hold all the others “hostage.”

May and Singh chided him for what they called disrespectful and inappropriate language.

Despite their jabs at one another, the three opposition leaders rarely lost a chance to pummel their primary target: Trudeau.

Debate on Indigenous issues veered into the SNC-Lavalin affair, with Scheer taking the opportunity to remind viewers that Trudeau is the only prime minister to have been found to have broken ethics law.

“And now we find out that the RCMP is looking into this case with a view to possible obstruction of justice charges and he is obstructing their attempts to get the truth,” Scheer said, referring to reports this week that the RCMP probe has been stymied by the refusal to waive cabinet confidentiality on matters surrounding former attorney general Jody Wilson-Raybould’s assertion that she was improperly pressured to stop the prosecution of SNC-Lavalin.

Story continues below advertisement

READ MORE: Liberals secure alternate plane after campaign bus damages branded plane

Earlier in the day, Trudeau stuck by his decision to participate only in two official debates next month and a third in French hosted by TVA. And he suggested he’d prefer to be on the campaign trail in B.C. and Alberta anyway.

Justin Trudeau addresses supporters at a Liberal rally in Edmonton on Sept. 12, 2019. Eric Beck/ Global News Justin Trudeau speaks to supporters at a Liberal rally in Edmonton on Thursday. Jessica Robb/ Global News

“The opportunity to get out across this country, speak with Canadians, listen to them, and talk about how we are going to build a better future for everyone and how we’re going to choose a better future for everyone is at the core of what this election is all about for me,” he said in Victoria, where he announced an expansion of a program to help first-time homebuyers.

Story continues below advertisement

While his rivals were taking to the debate stage, Trudeau was revving up party faithful at a rally in Edmonton, reminding Albertans of everything his government has done to help them weather the plunge in world oil prices, including buying the Trans Mountain pipeline expansion project.

“I’ve made a point of coming to Alberta, and to Edmonton, many, many times since I became prime minister because this province, its people, matter,” he said, promising that a Liberal government “will always have your back.” Tweet This

WATCH: Liberal leader Justin Trudeau draws hundreds to Edmonton rally

1:43 Liberal leader Justin Trudeau draws hundreds to Edmonton rally Liberal leader Justin Trudeau draws hundreds to Edmonton rally

Earlier Thursday, Singh and Scheer also visited challenging territory before holing up for the remainder of the day to prepare for the debate.

Singh was in Brampton. In 2015, the area’s five ridings were all scooped up by the Liberals. On Thursday, he fielded questions — including one in Punjabi — about why Liberal supporters should pivot his way.

Story continues below advertisement

He promised to be a prime minister who responds directly to the area’s concerns, highlighted by his promise of the day: funds to build and expand hospitals.

Scheer was in the riding of York Centre. The Tories held it briefly from 2011 to 2015 and are trying to win it back with candidate Rachel Willson. Prior to making the jump into politics, she was assistant director of faith-based group MY Canada, which opposes abortion.

A video of her discussing her pro-life views was circulated online by the Liberals shortly before Scheer and Willson’s appearance, putting them on the defensive.

Scheer repeated that he would personally oppose any effort to reopen the abortion debate. He has also said he would allow free votes on issues of conscience, something Willson said she was grateful for.

Asked whether she’d seek to introduce any anti-abortion legislation if elected, Willson said she plans to focus on issues she’s hearing about at the doors, like affordability.

The Greens were dealing with their own candidate issues, moving swiftly to remove a candidate in an Ontario riding.

A social media post had shown Erik Schomann helping roast a pig, with the caption suggesting the leftovers would be mailed to Muslims. Members of white supremacist groups often suggest mailing pigs as a way to threaten Muslims.

Story continues below advertisement

READ MORE: Green Party candidate resigns over post about mailing pig carcass to Muslims

WATCH: Federal Election 2019 – Trudeau says Canada will be there for Alberta

0:43 Federal Election 2019: Trudeau says his administration will be there for Alberta Federal Election 2019: Trudeau says his administration will be there for Alberta

While May was in Thursday night’s debate, People’s Party of Canada Leader Maxime Bernier was excluded from the line-up.

He took his campaign to his home riding of Beauce, in Quebec, the lone seat his party currently holds. He said it was funny that the satirical Rhinoceros Party has found someone with the same name to run against him in his hometown, but feels voters are smart enough to make the right choice.