The Tories threw everything they have at Ealing, including their party leader's name on the ballot paper "Dave Cameron's Cool Conservatives", but failed to make a breakthrough, indeed, failing to even close on the second place Lib Dems. In Sedgefield, the Tories slipped to third and Labour romped home ahead of the Liberal Democrats.
With majorities in by-elections usually at a premium, Labour must now be seriously thinking of holding an Autumn general election.
Yes, the seats where the by-elections were held were by any stretch of the mountain "difficult" seats for the opposition to make progress in. Sedgefield has always been Labour and had an enormous Labour majority last time whilst Ealing Southall has the largest Labour membership i the country, so the opposition were never in with a good chance. But a majority of more than 5,000 is something many labour MP's could only dream of, so Labour strategists must be delighted.
As for "Dave" and his Conservative Party, I'm sure they and their bloggers will spin it for all it's worth. But to put it simply, a party that expects to challenge for power should at the very least have overtaken the Lib Dems in Ealing Southall (which is what they claimed in their leaflets) and they should have hung on in Sedgefield to keep second place.
Yes, the Lib Dems will be disappointed, but given the lies emanating from the Tory camp in Ealing Southall about the Tories being in second place and claiming the Lib Dems were breaking the law about poster boards (and they've still produced no evidence), the Lib Dems will settle for being in a clearer second place in Ealing and overtaking the Tories in Sedgefield. Stories about replacing Ming will also subside, as long as he does not put his foot in it again.
Overall, a great night for Labour and no better than okay for the Lib Dems but no amount of spin or blogging can deny it was a dreadful night for the Tories.
Update - Even Iain Dale has failed to swallow the Tory line in press releases on this one and has said the results for the Tories were not good.