The Conservatives won two out of three byelections Monday night, adding one seat to their total in Parliament and making a gain in a riding in suburban Toronto.
Liberal Kevin Lamoureux won in Winnipeg North, a riding that was formerly held by the NDP.
Former Ontario Provincial Police commissioner Julian Fantino, the Tory candidate, won the Toronto-area riding of Vaughan.
Conservative Robert Sopuck won the Manitoba riding of Dauphin–Swan River–Marquette.
The Vaughan win represents a gain for the Tories in the Liberal territory of southern Ontario.
Fantino beat Liberal Tony Genco, who was trying to extend the party's 22-year hold on the riding. Fantino had 49.1 per cent of the votes cast to Genco's 46.6 per cent.
The byelection was called after Liberal MP Maurizio Bevilacqua stepped down to make a successful run for mayor of Vaughan.
The Vaughan outcome has the greatest potential for shaking up the federal political scene.
Prime Minister Stephen Harper must break the Liberal stranglehold on Toronto to have any hope of snagging his sought-after majority. Winning in Vaughan takes him a step closer to that goal.
"It was a very steep hill to climb, being such a safe, traditional Liberal seat," said Conservative party spokesman Fred DeLorey.
He noted that governing parties typically don't win byelections and said Monday's results demonstrate that "Canadians approve of the job the Harper government is doing on managing the economy and getting tough on crime."
Sopuck held on to the Manitoba riding of Dauphin–Swan River–Marquette for the Tories, garnering about 57 per cent of the votes.
The riding has been Conservative for 13 years. Sopuck's closest challenger was the NDP's Denise Harder, who took 26 per cent of the votes.
In Winnipeg North, Lamoureux beat NDP candidate Kevin Chief, 46.3 per cent to 41.2 per cent. The Winnipeg North seat was held by the NDP's Judy Wasylycia-Leis until she resigned to run for Winnipeg mayor last month. She lost.
Liberal Leader Michael Ignatieff said the closer-than-expected results demonstrate the next election will be a two-horse race between the Tories and Liberals.
"These byelections show the clearest sign yet that in the battle to defeat the Harper Conservatives, there is only one alternative party that can deliver change — the Liberal Party of Canada," Ignatieff said in a written statement.
Turnout was 26 per cent in Dauphin–Swan River–Marquette, nearly 31 per cent in Winnipeg North and nearly 32 per cent in Vaughan.
Turnout was 58.8 per cent nationally in the October 2008 general election.
After the byelections, the Conservatives hold 143 of the 308 seats in Parliament, the Liberals have 77 and the NDP 36. The Bloc Québécois has 47, there are two Independents and three seats are vacant.