By-elections: Labour takes Corby from Conservatives
Labour has snatched a seat from the Conservatives in a by-election for the first time in 15 years, taking Corby in Northamptonshire.
Andy Sawford won by 7,791 votes, with the Tories second and UKIP third.
The newly-elected Labour MP said voters had delivered a "damning verdict" on David Cameron, but the PM dismissed it as a "classic mid-term result".
The Liberal Democrats, in fourth place, lost their deposit despite asking for two recounts.
Former MP Louise Mensch angered people in Corby when she stood down after just two years to move to New York with her family earlier this year.
Labour had been widely expected to take the seat, which Ms Mensch won by fewer than 2,000 votes at the last general election, but the result will be seen as a mid-term test of the prime minister's leadership.
Labour took 17,267 votes, in a 12.67% swing from the Conservatives, who took 9,476, which if repeated a general election would give the party a 100 seat majority.
UKIP came a comfortable third with 5,108 votes and the Lib Dems fourth with 1,770.
In his victory speech, Mr Sawford said: "This result is a historic win for today's one-nation Labour Party.
"Today Middle England has spoken and they have sent a very clear message to David Cameron. This is truly a significant result."
He added that it was a "damning verdict" on the prime minister and the Conservatives' "betrayal of the British people" and said Labour wanted to "restore fairness".
Referring to Corby's status as a classic swing seat, he claimed "the road to Downing Street runs through Corby".
After the results were announced, Labour leader Ed Miliband appeared alongside Mr Sawford and his jubilant campaign team.
He reiterated the claim that Labour is the true "one-nation party", adding: "Middle England is turning away from David Cameron and the Conservatives because Middle England feels let down by David Cameron and the Conservatives."
Christine Emmett, the Conservative candidate, said: "This was never going to be an easy by-election to fight, but I'm really proud that we fought such a positive campaign."
Giving his verdict, the prime minister said: "It's a classic mid-term result and obviously made difficult by the fact that the Conservative MP left the seat in question.
"What the government needs to do is keep going with the very important plans we have to get our economy and country back on track."
UKIP's leader, Nigel Farage, said: "Third place and our best ever score in a by-election, so we're very, very pleased about what's happened here in Corby."
He added: "There's a big change in politics. UKIP is now the third party."
But Lib Dem candidate, Jill Hope, who lost her deposit by a handful of votes, hit out at her party's Conservative coalition partners in her speech.
She said: "Because of the economic mess that Labour left behind, the coalition government has had to take some hard and unpopular decisions, and I accept that, because of that, we have had a difficult election and it's been a struggle.
"The Conservatives pretty well got off scot-free, and you know what they say? It's the rich what get the pleasure and the poor what get the blame."
Some 35,733 votes were cast in Corby, giving a turnout figure of 44.8%.
Mrs Mensch tweeted her reaction to the by-election: "Very respectable result indeed for whole Tory team against local anger at my resignation for family."
The last time Labour took a seat from the Conservatives in a by-election was in Wirral South in February 1997.
Meanwhile, in Manchester Central's by-election, Labour's Lucy Powell (11,507) won with a majority of 9,936. Liberal Democrat Marc Ramsbottom (1,571) was second and Conservative Matthew Sephton (754) third.
The turnout of 18.16% is believed to be the lowest in a UK parliamentary by-election since 1942, when just 8.5% of eligible voters cast a ballot in Poplar South, in east London.
In Cardiff South and Penarth, Labour's Stephen Doughty won with 9,193 votes, Conservative Craig Williams was second with 3,859 and Lib Dem Bablin Molik was third with 2,103. Labour's majority was 5,334 and the turnout was 25.65%.