A Bangladeshi passenger plane crashed after making an unexpected turn in cloudy weather as it came in to land at the airport in Nepal's capital, killing at least 50 people, officials said. 

There were 71 people on board the US-Bangla Airlines plane arriving from Dhaka when it clipped the fence at Kathmandu and burst into flames, an airport spokesman said.

Those aboard included 33 Nepali passengers, with 32 from Bangladesh, one from China and one from the Maldives.

"All of a sudden the plane shook violently and there was a loud bang," one of the survivors told the Kathmandu Post daily.

"I was seated near a window and was able to break out of the window." 

The crash was the latest to hit mountainous Nepal, which has a poor record of air safety. Small aircraft ply an extensive domestic network and often run into trouble at remote airstrips.

A Nepalese army spokesman said that moments after the plane received permission to land, the pilot said he wanted to go in a northern direction.

Asked by the control tower if there was a problem, he replied in the negative.

The plane was then seen making two rounds in a northeast direction.

Traffic controllers again asked the pilot if things were OK, and he replied, "Yes".

The tower then told the pilot his alignment was not correct, but there was no reply.

"The plane should have come from the right direction," the army spokesman said, adding that it hit the airport fence, touched the ground and then caught fire.

It was not immediately clear if the pilot had issued a "Mayday" call, or distress signal.

Thick plumes of smoke could be seen from the aircraft at the Tribhuvan International Airport.

The aircraft was 17 years old, data from tracking website Flightradar24.com showed.

It descended to an airport altitude of 1,341m and then climbed to 2,012m before crashing about two minutes later, the website said.