None of the ridings had been expected to change party hands, though two of them turned into close races.
NDP candidate Murray Rankin won in Victoria, holding off a surprising challenge from the Green Party's Donald Galloway.
Rankin won with 37.2 per cent of the vote to Galloway's 34.3, in a race that seesawed throughout the night.
"We knew this would be a tough fight," said federal NDP Leader Tom Mulcair, who was on hand in Victoria to congratulate the newest member of his caucus.
The NDP is a party at the centre of Canadian life, and one that is on the move, Rankin said. "I see the faces of a great national party, steadfast in our determination to build a better Canada."
In Calgary Centre, the Conservative Party held on to what has traditionally been one of its safest ridings in the country. Tory candidate Joan Crockatt won with 36.9 per cent of the vote to Liberal Harvey Locke's 32.7 per cent.
"Conservative support in Calgary Centre remains strong and growing," the beaming victor maintained after arriving to a cheering throng at her campaign headquarters.
"It was a nail biting evening but I'm a new candidate, I'm not an incumbent and byelections are always challenging for a majority government."
Byelections do tend to be hard on sitting governments, but Calgary Centre wasn't supposed to be a problem for the Harper Conservatives.
The riding hadn't seen a three-way race since Reformers and Progressive Conservatives were fighting for the right to roast a Liberal in the early 1990s. Locke's second-place finish matched the Liberal party's 1993 high-water mark in Calgary Centre.
Quoting a line from the Leonard Cohen song "Anthem" -- "There is a crack in everything; that's how the light gets in" -- Locke said, "I think we made a crack."
Liberals, Greens challenge Tory dominance
The combined conservative vote Calgary Centre hadn't fallen below 50 per cent since 1972.
But Crockatt's vocal support for the upstart Wildrose party in the last Alberta election appeared to divide the local conservative base, with some openly defecting to support Locke.
"I think that the question for me as a Liberal that has been answered tonight is can a Liberal run competitively in Calgary and the answer is unquestionably, yes."
It seemed the Greens' Chris Turner was the deciding factor, with a strong showing that likely took votes away from the Liberals in a riding that's been painted Tory blue since the riding was formed in 1968.
"We were defeated at the polls, but we did not lose anything today," Turner said in a statement.
Turner's strong campaign may have been aided in the final stretch by Liberal gaffes elsewhere.
First, Liberal MP David McGuinty was quoted calling Alberta MPs "shills" for the oil industry and suggesting they "go home" and run for town council if they want to be so parochial.
Then a November 2010, French-language interview by Justin Trudeau, the Liberal leadership heir apparent, surfaced in which he stated that "Canada isn't doing well right now because it's Albertans who control our community and socio-democratic agenda."
Trudeau apologized but not before federal Conservatives had a field day, stalling Liberal momentum in Calgary Centre and making the Green option -- and a welcome Liberal-Green vote split for Crockatt -- more viable.
Martha Hall Findlay, another Liberal leadership hopeful who, like Trudeau, spent time in the riding during the byelection, said Monday that perceptions of Calgary's political uniformity are changing.
"I've been involved with Calgary long enough to know it's not something that's all of a sudden changed," she said.
"I think what has changed is that there is a sense that maybe there's an opportunity for a representation that actually reflects who Calgarians are."
Comfortable win in Durham
Conservative Erin O'Toole was the runaway winner in Durham, Ont., retaining the Tory seat in the riding northeast of Toronto with 50.7 per cent and all polls reporting. The seat had been held by onetime Conservative MP and cabinet minister Bev Oda before she resigned in July under a public uproar about her ministerial expenses.
O'Toole said Oda's spending controversies weren't a major concern for voters he met while campaigning.
"That came up less and less as we got our message out and as people got to know me as a candidate and realized I'm from this community," said O'Toole, whose father John is a member of the Ontario legislature.
Here's a quick look at the results in all three three contests:
What: A Tory stronghold that sits next to Prime Minister Stephen Harper's riding.
Why: Veteran Conservative MP Lee Richardson resigned to take a post as chief of staff to Alberta Premier Alison Redford.
- Joan Crockatt, Conservative (36.9 per cent).
- Harvey Locke, Liberal (32.7 per cent).
- Chris Turner, Green (25.6 per cent).
- Dan Meades, NDP (3.8 per cent).
Voter turnout: 29.4 per cent.
What: A Vancouver Island riding once held by Sir John A. Macdonald, but more recently held for more than 10 years by the Liberals until it was won by the NDP in 2006.
Why: New Democrat Denise Savoie resigned due to health issues.
- Murray Rankin, NDP (37.2 per cent).
- Donald Galloway, Green (34.3 per cent).
- Dale Gann, Conservative (14.4 per cent).
- Paul Summerville, Liberal. (13.2 per cent).
Voter turnout: 43.9 per cent.
What: A riding northeast of Toronto that was held for more than a decade by the Liberals, but has been Conservative since 2004.
Why: Former Conservative cabinet minister Bev Oda resigned last summer after a series of controversies.
- Erin O'Toole, Conservative (50.7 per cent).
- Larry O'Connor, NDP (26.3 per cent).
- Grant Humes, Liberal (17.3 per cent).
- Virginia Ervin, Green (4.1 per cent).
Voter turnout: 35.8 per cent.Suggest a correction