Eyewitnesses have described the moment Air Canada flight AC8646 crashed into a fire truck on the runway of New York's LaGuardia airport, killing two pilots and injuring dozens of others.

We were literally like 100 metres away, says 23-year-old Leo Medina, who was onboard another plane on the tarmac when the crash happened. It was like the plane got cut in half.

He told the BBC he then had to return to the gate and had been waiting in the airport for more than 12 hours, sleeping on the floor on a bed of jackets.

After visiting the crash site on Monday, US Secretary of Transportation Sean Duffy said he was reminded of the importance of wearing seat belts - on an aircraft or in any other mode of transportation. As you see from last night, they do save lives, Duffy said during a news conference.

Québec native Antoine Forest, 30, was identified as one of the Air Canada pilots who died in the collision, according to reports in Canadian media. The other pilot has not yet been named.

These were two young men at the start of their career, so it's an absolute tragedy, FAA administrator Bran Bedford said.

In addition to killing the two pilots, the incident, which happened at 23:40 local time on Sunday (03:40 GMT on Monday) injured 41 people who were taken to hospital, some with serious injuries.

Passenger Rebecca Liquori, who was on the plane, which was arriving from Montreal when it hit the truck, told News12 Long Island there was a loud boom just after it landed.

As we were descending, we hit a lot of turbulence, she said. Then we landed very roughly… Everyone felt it. It was like the plane jolted and you heard the pilot try to brake trying to prevent the collision.

In audio from the air traffic control tower at LaGuardia, a staff member can be heard saying: Truck One, stop, stop, stop! in the seconds before the crash.

The fire truck had been called out minutes earlier to an incident on board another plane that reported an issue with odour, according to Port Authority executive director Kathryn Garcia.

New York City Mayor Zohran Mamdani described it as a tragic collision and said the National Transportation Safety Board was investigating Sunday's incident.

Passenger Jack Cabot - also on the plane that crashed - told CNN there were scenes of chaos. We went down for a regular landing, he said. We immediately hit something and it was just chaos from there… Everybody was hunkered down and everybody was screaming.

LaGuardia closed until 14:00 Monday, leaving hundreds of flights delayed or cancelled. It has been more than 34 years since LaGuardia had an incident with a death at the airport, officials said on Monday.