EU nations granted refugee or protection status to 710,400 people last year, of whom more than half were Syrian, the bloc's statistical agency has said.
The figure was "more than double the number of 2015," Eurostat said.
"The largest group of beneficiaries of protection status in the EU in 2016 remained citizens of Syria (405,600 persons, or 57% of the total number of persons granted protection status," it said.
Iraqis made up the second biggest group with 65,800, followed by Afghans with 61,800, it said.
Germany granted 445,210 people protection status in 2016, three times higher than the previous year, it said. Sweden followed with 69,350 - or double that of 2015 - and Italy came third with 35,450.
Germany had initially waived the so-called Dublin rules, in which asylum seekers are meant to be sent back to the first European country they registered in, for Syrian refugees at the height of the migrant influx in 2015.
But after the arrival of around one million people, public misgivings grew, forcing Chancellor Angela Merkel to take steps to limit the arrivals.
Eurostat said 55% of the 710,400 people granted refugee status, 37% were given subsidiary protection - meaning they would not be sent back home as there was a risk of harm there - and 8% were allowed to stay on for humanitarian reasons.
It said more than 1.2 million asylum requests were received by EU countries last year, a number close to the record applications made in 2015.