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.
How the findings were presented
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.
The board does not have the authority to apportion blame, under the rules governing international crash investigations.
Mr Joustra suggested that the aircraft was most likely to have been brought down by a Russian-made Buk surface-to-air missile - which experts say both Russian and Ukrainian armies possess.
The government in Ukraine and several Western officials have said the missile was brought from Russia and launched from the rebel-held part of Ukraine.
A separate Dutch-led criminal investigation is under way. Dutch Prosecutor Fred Westerbeke on Tuesday said a number of "persons of interest" had been identified, but there was still much to be done and the inquiry would not be finished this year.
Eduard Basurin, deputy defence minister of the self-proclaimed Donetsk People's Republic in eastern Ukraine, said rebel forces "did not have a Buk anti-air defence system at that time".
Earlier, Russian officials from Almaz-Antey - the state firm that manufactures Buk missiles - said the evidence suggested the plane had been shot down by a surface-to-air Buk missile fired by Ukrainian forces.
Using footage of their own mock-up of shrapnel hitting the fuselage, the officials said the missile had been fired from Ukrainian-controlled territory.
They argued the missile used was a decades-old model no longer used by Russian forces.
In July, Russia vetoed a draft resolution at the UN Security Council to set up an international tribunal into the MH17 air disaster.
President Vladimir Putin said at the time that such a tribunal would be "premature" and "counterproductive".
| graphiconline | dailygraphic | ghananews