Lab. 7,854 (37.1%) | Ukip 5,233 (24.7%) | Cons 5,154 (24.3%) | Libs (9.8%) — on a 38% turnout.
Which means the small-c conservative vote was split right down the middle yet again, as I suggested would be the case at the start of the campaign.
But the Conservative vote held up well and even increased. That's especially positive when you consider that that they only had a small-but-plucky local team battling against the combined weight of the huge well-funded Labour + Ukip campaigning teams, which drew in thousands of students from across the UK. Plus there was that strong Lib Dem leafleting operation.
But at least Ukip's Nuttall was kept out and presumably he went slinking back to Liverpool in the night. Like Storm Doris the election's dismal media coverage has left the city with a whole lot of short-term damage to repair, but 'Nuttall defeated' is a very good result for the city's reputation.
The Lib Dems did very slightly better than my predicted 9%.
There was a surprisingly high turnout, considering that Storm Doris could have pushed it to the low 20s — where I really thought it would be. Turnout was at 38 per cent, which not bad for a by-election on a soaking wet stormy February day in Stoke. My guess is that level of turnout, plus a few wads of postal votes, is probably what swung it for Labour. It'll be interesting to see what the electoral bone-pickers can pull out of the detailed statistics, when we get them.
On the upside:
* The anti-Brexit lobby can't say that this was "an anti-Brexit vote", since the majority of the voters voted for pro-Brexit parties. So hopefully our Brexit hasn't been damaged.
* The Conservatives now go into the 2020 General Election facing a weak Corbyn extreme-left dominated Labour Party. The Conservatives winning Copeland seems unlikely to unseat him, since he has the 'nuclear power policy' excuse there.
* The vote-splitting Ukip has been badly weakened, though possibly not enough to cause the party to vanish. Especially if they can now find a decent leader. It won't be Farage, who is clearly off to support President Trump. If Nuttall clings on by his fingernails, then Ukip's major funder may well decide not to sink any more cash into them.
What can Labour's Snell now do for the city?
* Take some intensive training in how to restrain himself from blabbing his mouth off in the media and on Twitter and in Parliament.
* He should try to stay out of Labour's bitter civil war if that's possible, bend the knee to Commissar Corbyn and just try to be a good solid local MP for the next three years.
* He needs to make good on his sudden change of heart on Brexit, and get behind it wholeheartedly. Brexit is happening and we need to make sure Stoke's interests get strongly factored into the national planning for Brexit. That means across all sectors of business and industry, not just manufacturing.