Nicola Sturgeon has claimed a "renewed, refreshed and strengthened" mandate for a second independence referendum as the SNP romped to a landmark general election victory in Scotland.

The party won 48 out of 59 constituencies north of the border, making sweeping gains across the country at the expense of every one of its rivals.

It is the Nationalists' second best ever result at a Westminster election after 2015, when Nicola Sturgeon's party took an unprecedented 56 seats.

The SNP has gained 13 seats on its showing in the snap election two years ago, while the Conservatives have lost seven seats - down from 13 to 6.

'I have a mandate, a renewed, refreshed, strengthened mandate, to offer people in Scotland the choice of a different future.'

Nicola Sturgeon

Labour lost all of its seven seats bar one, with Ian Murray keeping Edinburgh South, and the Liberal Democrats won four seats.

The Lib Dems were the only party to gain a seat from the SNP, winning North East Fife - the most marginal seat in the whole of the UK.

However, the party was dealt a huge blow when its leader Jo Swinson lost her East Dunbartonshire seat to the SNP's Amy Callaghan.

UK-wide, the Conservatives have won a Commons majority and are heading for their best result since the Margaret Thatcher era in the 1980s.

Labour leader Jeremy Corbyn saw his party lose swathes of seats in its heartlands in the north of England, the Midlands and Wales.

He revealed he would stand down as leader following a "period of reflection" - with Labour facing its worst Westminster result since 1935.

Speaking after winning his seat of Islington North - where he said he would remain as an MP - Corbyn said: "I want to... make it clear that I will not lead the party in any future general election campaign.

"I will discuss with our party to ensure there is a process now of reflection on this result and on the policies that the party will take going forward.

"And I will lead the party during that period to ensure that discussion takes place and we move on into the future."

Speaking from Glasgow, where the SNP won all seven seats, Sturgeon said: "I accept that Boris Johnson after this election has a mandate to take England out of the European Union."

"But he does not have a mandate to take Scotland out of the European Union.

"And I have a mandate, a renewed, refreshed, strengthened mandate, to offer people in Scotland the choice of a different future.

"It is then up to people in Scotland what choice they make.

"I don't pretend everybody who voted SNP yesterday will necessarily support independence, but there is a clear endorsement Scotland should get to decide our future and not have it decided for us."

The First Minister will write to the Prime Minister before Christmas to formally demand Holyrood be given the power to hold a second vote on independence.

While Boris Johnson has made clear he will block such a ballot, Sturgeon said the Tories must "reflect very carefully" on the result of the election.

After successfully defending his seat of Uxbridge and South Ruislip, the Prime Minister said: "It does look as though this One Nation Conservative government has been given a powerful new mandate to get Brexit done."

He has said he wants to begin pushing his Brexit deal through parliament before Christmas, with the aim of taking Britain out of the EU by the end of January.