Japan Airlines said all 379 passengers and crew on board have been evacuated.
Footage on social media shows the fire starting on the aircraft just as it was landing, with flames and thick smoke rising into the air.
Teams of firefighters have been battling the huge blaze, as the hull was pictured broken in two.
The plane caught fire from the rear of the fuselage, according to reports in Japanese media.
Japanese media have also suggested the plane may have collided with a smaller Coast Guard aircraft after coming in to land.
Some five of the six people on the Coast Guard plane are unaccounted for.
Former BA pilot Alastair Rosenschein said it is difficult to explain the cause of the fire at the Tokyo airport so soon.
“We know very little about this at the moment but the aircraft is clearly completely destroyed,” he said.
“It looks like it may be an engine or a wheel fire that became uncontained and spread inside the aircraft.”
All runways at Haneda – Japan’s busiest airport – are currently closed.