British Prime Minister Boris Johnson is on course to win the upcoming UK general election with a comfortable 68-seat majority by triumphing in Labour heartlands, according to a projection poll which accurately forecast the hung parliament in 2017.

The constituency-by-constituency estimate by YouGov indicates that if the election was held today, the Conservative Party would win 359 seats - 42 more than it took in 2017.

It would also take 43% of the vote, and in terms of seats this would be the party's best performance since 1987.

The Labour Party, meanwhile, is set to lose 51 seats, falling from 262 in 2017 to 211 now, and taking 32% of the vote, a 9% decrease.

This would be the Labour's worst performance in terms of seats won since 1983, YouGov said, adding that the party is on course to not take any new seats.

Of the 76 Labour-held seats where the party leads the Tories by fewer than 8,000 votes, Labour is behind in 43 of them, according to the analysis which has been released just over two weeks before polling day.

YouGov used the same method in the 2017 general election, when it accurately predicted the results in 93% of constituencies, and pointed towards a hung parliament.

Political research manager at YouGov Chris Curtis said the current analysis shows the Tories have a "comfortable majority", with seats coming their way at the expense of Labour in the north and midlands.

"As expected, the key thing deciding the extent to which each of these seats is moving against Labour are how that seat voted in the European Union referendum.

"In the seats that voted most strongly to Leave in 2016 (60% or more in favour of departing the European Union), the swing to the Conservatives is over 6%.

"This is allowing the Tories to overturn quite substantial majorities in places like West Bromwich East, the seat held until recently by Tom Watson, and Don Valley, the seat held by Caroline Flint.

"The only silver lining for Labour is that there are still 30 seats where it is currently 5% or less behind the Tories.

Meanwhile, the Liberal Democrats are on course to see their number of MPs increase by just one from 12 to 13, picking up four new seats while losing out in three they currently hold.

The Scottish National Party is on course to secure a further eight seats, although crucially for the Tories' chance of securing their majority, only two come from Mr Johnson's party (Stirling, and East Renfrewshire).

Jo Swinson's Lib Dems are on course to see their number of MPs increase by just one

By contrast, Labour is set to lose five seats to the SNP, with the Lib Dems losing one in Scotland, the figures show.

The Greens will still have one seat, while Plaid Cymru will remain at four, according to the data.

YouGov's model draws on the data collected from about 100,000 panellists questioned on their voting intention over the course of the last seven days, and uses a recently-developed technique called multilevel regression and post-stratification (MRP).

The projections came as Mr Johnson's top aide Dominic Cummings warned the election race was "much tighter" than the opinion polls suggested.

He said Leave supporters risked handing victory to Labour if they vote for the Brexit Party in key marginals the Tories need to take if they are to gain an overall majority.

The YouGov model seems to suggest that the Brexit Party is hurting the Conservatives more than Labour in some neck-and-neck marginals where Mr Farage's party are running.