Prime Minister Boris Johnson’s Conservative Party has a seven-percentage point lead over the Labour Party, according to an ICM poll.
The poll put the Conservatives on 38 per cent and Labour on 31 per cent.
The Liberal Democrats were supported by 15 per cent of those polled, while the Brexit party was backed by nine per cent.
The online poll of 2,047 was carried out between 1 November and 4 November.
It showed a narrower gap than recent surveys from other pollsters which have put the Conservatives between eight and 17 percentage points ahead of Labour.
ICM said the poll showed the Conservatives and Labour were losing a similar proportion of votes over Brexit.
It said 11 per cent of those who voted Conservative at the 2017 election were now planning to vote for the Brexit Party, while 12 per cent of those who backed Labour in 2017 intended to vote for the Liberal Democrats.
The UK will go to the polls on 12 December, the first December election since 1923.
Johnson hopes the electorate will give him a fresh mandate for his Brexit deal.
Both Labour and the Conservatives have also promised a raft of non-Brexit related policies.
Conservative policies could include a cut to National Insurance, more funding for colleges and investment to help prevent the smuggling of drugs at prisons.
Labour’s promises include £60bn more spending for home energy upgrades by 2030 and the nationalisation of gas and electricity supply networks and the privatised sewerage and water companies.