Rishi Sunak’s Conservatives on Friday suffered two crushing UK parliamentary by-election defeats but averted a “3-0” drubbing by unexpectedly holding on to Boris Johnson’s old Uxbridge seat.

The grave problems facing the British prime minister were highlighted when the opposition Labour party secured its biggest-ever by-election win in the once-safe Tory seat of Selby and Ainsty in Yorkshire.

Earlier the centrist Liberal Democrats demolished a massive Tory majority to win the seat of Somerton and Frome, opening up a dangerous new front for Sunak in the Tory heartlands of England’s South West.