Labour (Lisa Forbes)                      10,484      31 per cent       Vote share down by 17 per cent.

Brexit Party (Mike Greene)              9,801      29 per cent

Conservatives (Paul Bristow)           7,243      21 per cent      Vote share down by 25 per cent.

Liberal Democrats (Beki Sellick)      4,159      12 per cent      Vote share up by 9 per cent.

Green Party (Joseph Wells)              1,035        3 per cent       Vote share up by 1 per cent.

– – –

Labour majority 683

– – –

Turnout 48.4 per cent (down from 67.5 per cent in the 2017 general election

– – –

Snap reactions:

  • The Brexit Party will have wanted to win the seat outright, and polling suggested that they would, so this is a disappointing result for them.
  • None the less, they were only 683 votes short of victory, and the by-election confirms that they are a potent electoral force.
  • Labour’s win will ease the second referendum pressure on Jeremy Corbyn, and demonstrates again that their on-the-ground operation works effectively.
  • It is also a reminder that neither Fiona Onasanya’s conviction nor Lisa Forbes’ approval of anti-semitic material deprived the party of victory.
  • For the Conservatives, the result will add force to the claim: Vote Farage, get Corbyn – and is proof of their electoral plight.
  • A Brexit Party win would have boosted Boris Johnson’s leadership campaign; this Labour win should also do so – though not perhaps to quite the same degree.
  • Turnout at 48 per cent was lower than at the general election, as would be expected, but was more than respectable by the standard of recent by-elections.