The Liberal Democrats achieved one of the biggest swings against a government since 1945.
The Conservatives’ defeat at the polls in Tiverton & Honiton and Wakefield is the first time in more than 30 years that a government has lost two by-elections on the same day.
The previous occasion was on November 7 1991, when the Conservative government of John Major lost the seat of Langbaurgh in Cleveland to Labour and also Kincardine & Deeside in east Scotland to the Liberal Democrats.
A double by-election loss for a government is so rare in British politics that it has now happened only seven times since the Second World War.
The Liberal Democrats needed a swing of at least 22.8 percentage points to win Tiverton & Honiton – in other words, 23 in every 100 people in the constituency who voted Conservative at the 2019 general election needed to switch directly to the Lib Dems.
In the event they managed a swing of 29.9 points: large enough to rank as the sixth biggest swing against a government since 1945 in a by-election that saw a change in both party and MP.
The biggest swing of this kind took place in July 1993 at the Christchurch by-election, which was won by the Lib Dems on a 35.4 point swing from the Conservatives.
Close behind is the 34.1 point swing the Lib Dems achieved against the Tories in the North Shropshire by-election in December last year.
All of these top six swings have been achieved either by the Liberal Democrats or its predecessor, the Liberal Party.
Were the swing at Tiverton & Honiton repeated uniformly at the next general election, based on the current parliamentary boundaries the outcome would see many Conservatives lose their seats, including Deputy Prime Minister Dominic Raab (in Esher & Walton), former health secretary Jeremy Hunt (South West Surrey) and former prime minister Theresa May (Maidenhead).
Labour needed a much smaller swing of just 3.8 percentage points to take Wakefield from the Conservatives.
They won the seat on a swing of 12.7 points – coincidentally, exactly the same size swing Labour achieved the last time it won a seat from the Tories at a by-election, in Corby in 2012.
A swing of this size is the sort needed by Labour at the next general election to be in with a chance of an overall majority of seats in the House of Commons.
It is also the size of swing that would, were it repeated uniformly at the general election on the current parliamentary boundaries, spell defeat for the likes of former Conservative leader Iain Duncan Smith (in Chingford & Woodford Green), Environment Secretary George Eustice (Camborne & Redruth), Transport Secretary Grant Shapps (Welwyn Hatfield) and the Prime Minister himself, Boris Johnson (Uxbridge & South Ruislip).
The next general election is expected to be fought on new constituency boundaries, though these are not due to be finalised until summer 2023.
History suggests the behaviour of voters at by-elections is not always a reliable guide to what happens at the subsequent general election.
Labour’s victory at Corby in 2012 was reversed in 2015 when the Conservatives won the seat back.
And the last time the Tories suffered a double by-election defeat while in power – in November 1991 – the party went on to regain both constituencies just five months later at the 1992 general election.