The figures cover the period leading up to and just after the Brexit vote.
EU migration, under particular scrutiny given the Brexit vote and promised curbs on freedom of movement, hit a record 284,000 in the year ending June 2016.
As many as 138,000 people moved from western European countries and a record 70,000 immigrants made the journey from either Bulgaria and Romania.
The move to the UK was the most popular choice for Romanians who made up as much as 10% of immigration levels.
The net migration level reached 335,000 – the second highest on record, just behind 336,000 for the 12 months to June 2015.
Nicola White, head of international migration statistics at the ONS, said: “Net migration remains around record levels, but it is stable compared with recent years.
“Immigration levels are now among the highest estimates recorded – the inflow of EU citizens is also at historically high levels and similar to the inflow of non-EU citizens.
“There were also increases in the number of asylum seekers and refugees.
“Immigration of Bulgarian and Romanian citizens continues the upward trend seen over the last few years and in 2015 Romania was the most common country of previous residence.
“The main reason people are coming to the UK is for work, and there has been a significant increase in people looking for work, particularly from the EU.”