Malaysian Airlines Flight MH17 crashed as a result of a Russian-made Buk missile, the Dutch Safety Board says.
The missile hit the front left of the plane causing other parts break off, it said in a final report into the July 2014 disaster, which killed 298 people.
The West and Ukraine say Russian-backed rebels brought down the Boeing 777, but Russia blames Ukrainian forces.
The report does not say who fired the missile, but says airspace over eastern Ukraine should have been closed.
The plane – flying from Amsterdam to Kuala Lumpur – crashed at the height of the conflict between government troops and the pro-Russian separatists.
Among the victims were 196 Dutch nationals and 10 Britons.
Click here for minute-by-minute updates
The report says the three crew members in the cockpit were killed by the missile explosion instantly.
However, it adds, it was unclear at which point the other occupants died, and the possibility of some remaining conscious for some time during the one-and-a-half minutes it took for the plane to go down could not be ruled out.
Presenting its findings at the Gilze-Rijen military base in the Netherlands, the safety board showed plane parts that had been brought back from the rebel-held Donetsk region and reconstructed.
Board president Djibbe Joustra said the impact pattern could not have been caused by a meteor, an air-to-air missile or an internal explosion.
Instead, he said, a warhead had detonated above the left-hand side of the cockpit, causing structural damage to the front, which then broke off from the rest of the plane.
He added that paint had been found on metal fragments within the plane that matched with missile fragments on the ground.
The evidence pointed to a 9N314M warhead, which can be fitted to a 9M38M1 missile launched by the Buk surface-to-air missile system, the report found.
Mr Joustra said there had been sufficient reason to close off Ukrainian airspace but Ukraine did not do that – and on the day of the crash, 160 flights flew over the area in question.