Martin Missfelder, 53, from Zurich, Switzerland, told Swiss media outlet Blick: “It was absolute horror, everyone was screaming”.
The man's wife had initially told cabin crew that her husband was feeling unwell because they had been forced to run to catch the plane at Bangkok airport.
“A flight attendant then reacted and asked him if he was okay, she was very worried,” said Mr Missfelder’s wife Karin, who was sitting with her husband behind the couple.
The man was told he was well enough to fly but she told cabin crew a doctor was urgently needed.
The pilot arrived and called for a doctor over the loudspeaker.
A 30-year-old Polish medic asked how the man was and took his pulse before indicating that he seemed OK.
Mr Missfelder told Blick: “They then gave him a little chamomile tea, but he was already spitting blood into the bag that his wife held out to him.”
The plane took off before the man's condition dramatically deteriorated, increasingly spitting blood into a bag - before a 'gush' of blood came out of his mouth and nose.
'It was absolute horror, everyone was screaming,' said Martin, adding that the man lost 'litres of blood' which covered the cabin walls.
Ms Missfelder said the man died and his body was carried into the galley and the plane had to fly back to Bangkok with the captain announcing over the loudspeaker that there had been a death onboard.
The flight turned around, returning to Bangkok Airport.
A spokesperson for Lufthansa told MailOnline: “We confirm that on 8 February 2024 on flight LH773 (Airbus A380) from Bangkok to Munich a medical emergency of a passenger occurred on board.
“Although immediate and comprehensive first aid measures were taken by the crew and a doctor on board, the passenger died during the flight.
“After 1.5 hours of flight time, the crew decided to return to Bangkok, where the aircraft landed normally and safely.
“There, the instructions of the medical emergency services and the Thai authorities were followed. The passengers on this flight have since been rebooked on other alternative flights as it has been cancelled.
“Our thoughts are with the relatives of the deceased passenger. We also regret the inconvenience caused to the passengers of this flight.
“Please understand that we are generally cannot provide any further details in the event of medical emergencies for reasons of privacy.”