Britain's upper House of Lords on Friday gave final approval to a law aimed at preventing a no-deal Brexit, in a major defeat for Prime Minister Boris Johnson's government.

The law, which would require Johnson to seek a three-month delay to Brexit if he does not manage to strike a deal with the EU by October 19, will now go for formal approval by Queen Elizabeth II.

The approval came as Johnson sought to regain political momentum after a painful week left his do-or-die Brexit strategy in tatters.

Johnson wants an early general election that could give him a mandate to take Britain out of the European Union with or without a divorce deal on October 31.

He spent Friday morning campaigning in Scotland among fishermen who strongly backed the Brexit referendum in 2016.

Johnson received a boost when the High Court in London rejected a legal challenge against his decision to suspend parliament from next week.

But it granted permission for the case to go to the Supreme Court for an appeal scheduled for September 17.

"My legal team and I will not give up the fight for democracy," pro-EU campaigner Gina Miller told reporters.

And the upper House of Lords was set Friday to pass legislation that would force Johnson to seek a Brexit delay from Brussels unless he can strike a deal at an EU summit next month.

Johnson has branded the bill a "surrender" that would allow the other 27 EU leaders to dictate the terms on which Britain leaves its closest neighbours after 46 years.

A screenshot from UK parliament TV shows the House of Lords gathered to vote on the Brexit delay bill. Photo: AFPA screenshot from UK parliament TV shows the House of Lords gathered to vote on the Brexit delay bill. Photo: AFP

He sacked 21 Conservative rebels who voted for the legislation in the  House of Commons on Tuesday.

The decision left him without a working majority in parliament.

Opposition parties and the rebel Conservatives are now set to approve the delay bill when it returns to the Commons on Monday.

They are also widely expected to block for the second time Monday his attempt to schedule snap polls for October 15.

"Never in history has there been an opposition party that has been given a chance to have an election and has turned it down," Johnson said in Scotland.

"I think that they are making an extraordinary political mistake."

"I am very confident I will get an agreement at the summit on October 17"

Deal 'not possible'

Johnson has been adamant that he will not seek a third Brexit delay this year.

The main opposition Labour Party is plotting a strategy with smaller groups that could leave Johnson with no other alternative but to resign.

They are reportedly trying to make sure that an election is held only after Johnson is forced to go back on his word and seek a divorce delay.

This would happen if no new agreement is reached when Johnson attends an October 17-18 EU leaders' summit in Brussels.

None is expected and EU officials say they have heard no new proposals from Johnson's team.

Finnish Prime Minister Antti Rinne - whose Nordic country holds the rotating EU presidency - said a chaotic "no-deal Brexit" seemed unavoidable.

"I hope that we can reach a situation where this can be solved so that there is no mess, but it seems not possible now," Rinne said in Helsinki.

"We don't know what's happening there. It seems very obvious that we are not getting Brexit with an agreement."

Johnson disagreed.

"I don't think we'll get a no-deal Brexit," he said in Scotland.

"I am very confident I will get an agreement at the summit on October 17."

'Cunning wheeze'

Labour was negotiating on Friday with the pro-EU Scottish National Party (SNP) and smaller groups about an election date closer to the Brexit deadline.

Johnson was also set to meet his team over the weekend to prepare for what promises to be another momentous week in the Brexit saga.

Labour foreign affairs spokeswoman Emily Thornberry said lawmakers did not trust "this prime minister, who is as slippery as can be".

She accused Johnson of trying to use an election "as a distraction whilst they, by some cunning wheeze, bounce us out of the EU."

SNP's parliamentary leader Ian Blackford also signalled his party's refusal to back an October 15 poll.

"The idea that he is coming with a motion to try and force an election having lost one this week is insane," he said.

"He is not going to compel parliamentarians to give him a mandate to determine the timing - we don't trust him."

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.