An estimated 2.38 million employees began work between July and September this year – a rise of 112,000 compared with 2016 and the highest number since records began 20 years ago.
It is the first clear quarterly comparison since the EU referendum.
Matt Hughes, a senior ONS statistician, said: “The number of non-UK nationals in work is still rising, albeit more slowly than in the last couple of years.
Much of the increase has been driven by workers from the newer EU states, such as Romania and Bulgaria – which joined the EU in 2007.
The UK now employs 347,000 nationals from these two countries – a 90,000 increase compared with the same time last year.
Citizens of Romania and Bulgaria have been able to work in Britain since 2014.
The number of employees from the first wave of eastern European countries to join the EU, known as the EU8A, including Poland, Hungary and the Czech Republic, has fallen by 20,000 to 1.3 million, the ONS figures show.