Party leaders sounded like they were still on the campaign trail Tuesday as they delivered speeches in response to last week's throne speech.
But Trudeau hit back in his own speech later Tuesday, repeatedly needling O'Toole over his lack of leadership and his refusal to insist that all Conservative MPs be vaccinated against COVID-19.
Speaking in the House of Commons, O'Toole and Singh presented themselves as the voices for those who they said have been forgotten by Trudeau's government.
O'Toole accused the Liberals of fuelling inflation with reckless spending during the pandemic. He suggested Trudeau doesn't understand the pressures average Canadians are under as the price of "everything" goes up because "he's never had to face pressures in his life."
He accused Trudeau of setting "a tone of corruption" from the moment he took office in 2015 and of presiding over the "steepest decline in Canada-U.S. relations in the modern era" — pointing to a series of trade disputes, including last week's doubling of American duties on Canadian softwood lumber.
And he asserted that Trudeau wants Canadians to be "ashamed" of their identity and culture.
"He wants Canadians to live in shame, he wants them to be ashamed of their past, ashamed of their identity, ashamed of their culture," O'Toole charged.
"He would rather foster accusations and division and conflict rather than real dialogue and reconciliation. To him, patriotism is a problem."
Opposition leaders deride Liberal government's #ThroneSpeech in official replies. #CDNPoli
For his part, Singh criticized the Liberal government for not addressing the uncertainty workers in energy sectors feel as Canada attempts to curb its greenhouse gas emissions and end reliance on fossil fuels.
"A just transition means it's about fairness for workers, and it gives priority to workers. And it's vital that that plan is made clear and so far, this throne speech and what we've heard from this government does not provide that plan to workers," Singh said.
"They're left behind and they're left uncertain about their future."
Trudeau was no less partisan in his own speech later, taking time to specifically respond to O'Toole's various accusations.
"Unfortunately, he didn't really demonstrate all that much in the way of leadership so much as trying to score cheap political points," Trudeau told the House.
He argued that ending the pandemic is the best way to grow the economy, "yet the Conservative Party won't even confirm how many of its MPs are vaccinated. That is simply not leading by example."
If the Conservatives had won the Sept. 20 election, Trudeau said, there'd be no requirement for passengers to be fully vaccinated before boarding planes or trains, thereby "putting Canadians at risk."
As for Canada's relationship with the U.S., Trudeau reminded the House that O'Toole said it was "dumb" for Canada to impose retaliatory tariffs in 2019 in response to American tariffs on Canadian steel and aluminum.
"We didn't listen to (O'Toole) then ... and that American administration backed down," Trudeau said.
"So you will understand that I'm not going to take lessons from the leader of the official Opposition on how to capitulate to the Americans."
Conservative MP Dan Albas said he found Trudeau's speech "very partisan" and suggested O'Toole had got under his skin because his criticisms were valid.
"I think Canadians want to see a little more statesmanship," Albas said.
This report by The Canadian Press was first published Nov. 30, 2021.