Labour confounded expectations and held on to its Batley and Spen constituency.
Kim Leadbeater, sister of murdered former MP Jo Cox, won by the slender margin of just 323 votes.
Many believed that the seat would go the same way as Hartlepool, lost to the Conservatives at the beginning of May.
The result was close with demands for recounts of bundles of votes extending the count, with the final result being declared at 5.25am.
The headline is ‘Labour hold’ and with that the pressure on party leader Sir Keir Starmer is relieved.
The leader’s office will point to the expectations of defeat and present the result as a triumph. Conservative momentum has been checked, cracks within the government will give Labour fresh opportunities to overcome its current poll deficit.
The reality though is somewhat different.
A Labour majority of 3,525 votes has been reduced ten-fold. Labour’s vote share fell to 35.3%, a drop of seven percentage points from the last general election and a 20 point decline since the 2017 election.
Please use Chrome browser for a more accessible video player
The Conservative vote too fell but only by 1.6 points. The swing was 2.9% from Labour to Conservative.
Labour’s vote share has fallen in the last 12 parliamentary by-elections. There may not be a challenge to Sir Keir’s leadership but Labour remains in crisis management mode.
The outcome is then all about expectations management.
The Conservatives will be viewed as having failed to win despite the party’s current lead over Labour in the opinion polls. Its momentum since its win in Hartlepool at the beginning of May checked first by its own defeat to the Liberal Democrats in Chesham and Amersham a month later and now the disappointment in Batley and Spen.
We should remember that governing parties rarely gain by-election seats from the opposition and the Conservatives failed to take this constituency in December 2019 when it secured an 80-seat majority.
Please use Chrome browser for a more accessible video player
There is no doubt that George Galloway, who polled over 8,000 votes, played a pivotal role. His targeting of Labour’s Muslim vote proved highly effective – his Workers Party polled over one in five votes cast in the constituency.
But his presence may have caused other voters to behave tactically.
Liberal Democrat support, concentrated in Cleckheaton, was 2,000 votes down from the level recorded in the recent Kirklees council election. It does appear that those voters provided Labour with crucial compensation for the votes it was losing to Galloway in Batley.
This will lead to more calls for the so-called Progressive Alliance to help defeat the Conservatives at the next general election.