British Prime Minister David Cameron pledged to "work really hard" to win back voters who abandoned the Conservatives for the UK Independence Party.
Nigel Farage's party made a series of stunning gains in council elections.
The UKIP leader claimed a "sea change" in British politics as they gained 131 council seats - far more than predicted - while securing second place in the South Shields parliamentary by-election.
A BBC projection gave Ukip a 23% share of the national vote, just behind the Tories on 25% with Labour ahead on 29% with the Lib Dems trailing in fourth place on 14%.
A jubilant Mr Farage said UKIP now had "every chance" of winning a Commons seat at the next by-election in a marginal constituency.
The biggest losers were the Conservatives who lost 340 councillors and the control of ten councils, including Mr Cameron's home county of Oxfordshire, with Labour even taking a seat in his Witney constituency, and Nottinghamshire which went straight to Labour control.
The Prime Minister said he understood why voters had turned away from the Conservatives, and promised action to turn round the economy, cut immigration and sort out the welfare system.