Nigel Farage’s Brexit Party costs the Conservatives an extra 20 seats, initial analysis reveals.
The increase would have given the Tories a 100 seat majority in the new Parliament – one of the party’s biggest ever victories.
Labour finished on 202 seats – its poorest result since 1935.
But things could have been worse if Mr Farage had stood back.
His decision to contest in some seats meant Labour’s “red wall” could have been further demolished by Boris Johnson.
Internal Conservative polling showed without Mr Farage the party would have an historic three-figure majority.
Mr Farage insisted his campaign would only take votes from Labour.
And, he said he’d fight seats almost guaranteed to return a Labour MP.
However, in reality, the Tories did so well in those “safe” Labour seats they could have gone on to win them.
Paul Hilder, chief executive of the polling firm Datapraxis, said that its own analysis indicated at least “20 Labour-held seats where the Brexit Party likely cost the Tories victory”.
He added: “One of the things that happened through the campaign was that some of the Labour to Brexit Party switchers came back to Labour, a few went tactically to the Tories and some ended up staying home.”
The 20 seats were:
Barnsley Central: Labour 14,804 votes, Brexit Party 11,233 votes, Tories 7,892 votes. Labour majority: 3,571
Barnsley East: Labour 14,329 votes, Brexit Party 11,112 votes, Tories 10,377 votes. Labour majority: 3,217
Kingston Upon Hull East: Labour 12,713 votes, Tories 11,474 votes, Brexit Party 5,764. Labour majority: 1,239
Hartlepool: Labour 15,464 votes, Tories 11,869 votes, Brexit Party 10,603 votes. Labour majority: 3,595
Doncaster North: Labour 15,740 votes, Tories 13,370 votes, Brexit Party 8,294 votes. Labour majority: 2,370
Easington: Labour 15,723 votes, Tories 9,142, Brexit Party 6,744 votes. Labour majority: 6,581
Wigan: Labour 21,042 votes, Tories 14,314 votes, Brexit Party 5,959 votes. Labour majority: 6,728
South Shields: Labour 17,273 votes, Tories 7,688 votes, Brexit Party 6,446 votes. Labour majority: 9,585
Kingston Upon Hull West: Labour 13,384 votes, Tories 10,528 votes, Brexit Party 5,638 votes. Labour majority: 2,856
Washington and Sunderland West: Labour 15,941 votes, Tories 12,218 votes, Brexit Party 5,439 votes. Labour majority: 3,723
Normanton: Labour 18,297 votes, Tories 17,021 votes, Brexit Party 8,032. Labour majority: 1,276
Blaenau Gwent: Labour 14,862 votes, Brexit Party 6,215 votes, Tories 5,749 votes. Labour majority: 8,647
Rotherham: Labour 14,736 votes, Tories 11,615 votes, Brexit Party 6,125 votes. Labour majority: 3,121
Wentworth and Dearne: Labour 16,742 votes, Tories 14,577 votes, Brexit Party 7,019 votes. Labour majority: 2,165
Jarrow: Labour 18,363 votes, Tories 11,243 votes, Brexit Party 4,122 votes. Labour majority: 7,120
Doncaster Central: Labour 16,638 votes, Tories 14,360 votes, Brexit Party 6,842. Labour majority: 2,278
Cynon Valley: Labour 15,533 votes, Tories 6,711 votes, Brexit Party 3,045 votes. Labour majority: 8,822
Makerfield: Labour 19,954 votes, Tories 15,214 votes, Brexit Party 5,817 votes. Labour majority: 4,740
Rhondda: Labour 16,115 votes, Tories 4,675 votes, Brexit Party 3,733. Labour majority: 11,440
Kingston Upon Hull North: Labour 17,033 votes, Tories 9,440 votes, Brexit Party 4,771 votes. Labour majority: 7,593