Labour has more than halved the gap on the Conservatives with less than 48 hours until polls close, according to the final detailed polling projection of the election campaign.
On the eve of polling day, a major YouGov survey predicts the Tories will win a majority of 28, gaining just 22 seats compared with the 2017 general election. A previous projection in November using the same methodology gave the Tories a majority of 68.
It suggests another hung parliament remains within the range of possible outcomes when voters go to the polls tomorrow.
Jeremy Corbyn will visit Glasgow today as the two party leaders make their final campaign swings.
YouGov gave a range for the possible Tory seat tally at between 311 and 367. The MRP survey puts Labour on 231 MPs, a loss of 31, and the Liberal Democrats on 15, up three.
In Scotland, YouGov predicts only modest gains for the SNP, with the Nationalists on 41 MPs, up six.
It suggests that Labour’s fight back could extend north of the Border, with the SNP only taking Glasgow North East and Midlothian.
Other Nationalist gains would come at the expense of the Conservatives, in Stirling, Angus, East Renfrewshire, Gordon, and Ochil and South Perthshire.
But the Scottish Tories could pull off a shock victory in Lanark and Hamilton East, taking the three-way marginal from the SNP, according to YouGov’s projection.
YouGov’s multilevel regression and post-stratification (MRP) analysis uses data from 100,000 interviews with voters over the past seven days to predict results across Great Britain.
According to the pollster’s analysis, Labour has gained an average of 6 per cent in areas that voted to stay in the EU, and 2 per cent in areas that voted to leave.
Foreign Secretary Dominic Raab and former Tory leader Iain Duncan Smith are both at risk of losing their seats, with the Lib Dems in Esher and Walton and Labour in Chingford and
Woodford Green closing within 2 per cent. Chris Curtis, YouGov’s political research manager, said: “Our latest and final poll shows that a small Conservative majority is likely, with the
Tories taking 22 more seats than in 2017 and Labour losing 31. This would be the best and worst results respectively for each party since the 80s.
“But the margins are extremely tight and small swings in a small number of seats, perhaps from tactical voting and a continuation of Labour’s recent upward trend, means we can’t currently rule out a hung parliament.
“As things currently stand there are 85 seats with a margin of error of 5 per cent or less.”
Our Future Our Choice, the youth campaign for a second EU referendum, said “denying Boris Johnson a majority is within our grasp”.