Image copyright Getty Images/PA Media Image caption Boris Johnson has rejected the request from Nicola Sturgeon

The UK government has formally rejected a call from Scotland's first minister for a second independence referendum.

Prime Minister Boris Johnson said a referendum would "continue the political stagnation Scotland has seen for the past decade".

And he said First Minister Nicola Sturgeon had previously pledged that the 2014 referendum would be a "once in a generation" vote.

Ms Sturgeon tweeted that the Tories were attempting to "deny democracy".

She said Mr Johnson's formal refusal of her request for a referendum to be held later this year was "predictable but also unsustainable and self defeating", and insisted that "Scotland will have the right to choose".

The first minister also said the Scottish government would set out its response and "next steps" before the end of the month, and that the devolved Scottish Parliament would again be asked to "back Scotland's right to choose our own future".

Scottish voters backed remaining in the UK by 55% to 45% in the referendum in 2014.

Ms Sturgeon says she wants to hold another vote on independence, and made a formal request last month for the UK government to transfer powers - known as a Section 30 order - to the Scottish Parliament in Edinburgh that would ensure any referendum is legal.

The request came after Ms Sturgeon's SNP, which forms the Scottish government, won 48 of the 59 seats in Scotland in the UK general election.

In his written response to Ms Sturgeon, the prime minister said he had "carefully considered and noted" her arguments.

But he said: "You and your predecessor (Alex Salmond) made a personal promise that the 2014 independence referendum was a "once in a generation" vote.

"The people of Scotland voted decisively on that promise to keep our United Kingdom together, a result which both the Scottish and UK governments committed to respect in the Edinburgh Agreement."

Image caption A large pro-independence march was held in Glasgow at the weekend

Mr Johnson said the UK government would "continue to uphold the democratic decision of the Scottish people and the promise you made to them".

And he said he did not want to see Scotland's schools, hospitals and employment "again left behind because of a campaign to separate the UK".

The prime minister added: "For that reason, I cannot agree to any request for a transfer of power that would lead to further independence referendums".

The formal rejection comes days after the UK government's Scottish secretary, Alister Jack, said another victory in next year's Scottish Parliament election would still not give the SNP a mandate to hold a referendum.

Ms Sturgeon has previously warned that a "flat no" from Mr Johnson to her request would "not be the end of the matter".

But she has made clear that she will not hold an unofficial referendum similar to the disputed one in Catalonia in 2017, arguing that it would not actually deliver independence as the result would not be recognised by the EU or wider international community.

The first minister said: "The Tories are terrified of Scotland having the right to choose our own future. They know that given the choice the overwhelming likelihood is that people will choose the positive option of independence.

"The Tories - and their allies in the leaderships of Labour and the Lib Dems - lack any positive case for the union, so all they can do is try to block democracy.

"It shows utter contempt for the votes, views and interests of the people of Scotland and it is a strategy that is doomed to failure."

The prospect of an independence referendum on Nicola Sturgeon's preferred timetable - the second half of 2020 - now looks very remote.

The first minister is confident that Mr Johnson's refusal will help make the case for independence in the longer term, but for now her options are limited.

In the first instance, she is planning another vote at Holyrood to underline the backing of MSPs for a new referendum. With the SNP and Greens holding a majority between them, this is sure to pass - but this has happened before, to little avail.

She has not ruled out going to court, but this would hardly accelerate matters - constitutional lawyers have warned that "there are no legal short cuts" around the political battlefield.

So the next clear opportunity to break the deadlock may be the 2021 Holyrood elections. Ms Sturgeon clearly has one eye on that poll already, talking about the Tories being on a "road back to political oblivion".

Between now and then, another year of constitutional stalemate beckons.