The airline said an engine defect caused flight CX170, an Airbus A330 aircraft, which left Perth just before midnight, to be diverted to Denpasar, where it was met by firefighters.
Passenger Joel Sirna told 6PR on Friday that there was a loud bang, followed by flames.
“Mid-flight, we heard a loud bang and the plane started to shake, all the lights went out and I looked to the window and have just seen some flames and some sparks – the wing and the motor was on fire,” he said.
Sirna said many people were woken by the mid-air drama, which unfolded not far from the Bali coast.
“There were a few people that were pretty shaken. The girl next to me started freaking out and crying, so I just tried to calm everyone down. That’s what we had to do.”
The pilot announced that power to one of the engines had been lost, then all the power in the cabin went off.
Sirna said the engine fire went out after several frightening minutes.
“It was a scary sight,” he said.
“There were a few screams. As soon as we touched down and landed, there was just a big applause from all of us.”
Cathay Pacific has rejected suggestions there was a fire on board or in the engine
“There was no engine fire and no fire warning,” a statement released on Friday said.
“There were reports a loud noise was heard, and some passengers saw sparks and flames from outside the window. We can confirm that what witnesses saw was a light due to the engine failure, not a real fire.”
Sirna said the passengers were then forced to wait two hours while the decision was made about how to get them off.
“We were stuck sitting there for about two hours until we could actually get off the plane. We couldn’t see the flames any more so we were hoping it was all good.”
Cathay Pacific said there was no fire on board, and all 251 passengers and crew were safe and unharmed.
“The passengers are provided with hotel accommodation while we are addressing the issue,” the airline said.
“Safety remains Cathay Pacific’s highest priority. The airline is currently investigating the incident.”
Sirna said he and the rest of his group of six would continue on to New York as planned.
He posted on Facebook that he was very tired and said the airline was attempting to sort out accommodation and alternative flights.
The Australian Transport Safety Bureau said it had not been notified of the incident.