A woman watched in horror as her boyfriend choked and died while he ate a Jetstar in-flight meal.
She has told how she sat next to his body for the remainder of the 11-hour trip from Singapore to Auckland this week.
Robert Rippingale, 31, was pronounced dead by an onboard doctor 90 minutes into the flight.
Ahead of the Aucklander's funeral yesterday, his girlfriend, Vanessa Preechakul, said she was struggling to come to terms with the death of her "outgoing and generous" partner.
"One minute we were sitting next to each other kissing, holding hands and the next minute he was choking," she said.
"I kept thinking 'How could you do this to me?'
"He wanted to come back [to New Zealand] so much and he just left me there," said the 27-year-old architect.
Yesterday, Rippingale's mother should have been celebrating her 50th birthday.
Instead she, with family and friends, buried her eldest son.
More than 150 people remembered the kind, generous man with the "infectious smile" who loved his family, partying and eating fast food.
Rippingale had lived and worked in Singapore for three years, where he met Preechakul. He was bringing her to New Zealand to discover the country and to celebrate his parents' 50th birthdays.
He was so excited about the trip, Preechakul said, that they arrived at the airport six hours early for the 8pm flight.
An hour and a half into the flight, the crew started serving beef and chicken for dinner.
Rippingale was tucking into his beef dish while watching a movie when Preechakul noticed him shaking, but at first she didn't realise anything was wrong.
"I thought he was laughing very hard; then I looked at his face and his eyes were rolling and he couldn't talk. His lips were turning purple."
A doctor and two nurses quickly rushed to help after hearing her scream for help.
They performed CPR on him in the galley, but were unable to save him.
"The doctor came to me and said he was so sorry; he did his best."
The body was moved to the crew rest area behind a curtain and Preechakul asked to sit next to her deceased boyfriend for the remaining nine hours of the flight.
Crew members used a blanket to cover his body.
"I had to cope - I had no choice," Preechakul said.
Jetstar spokesman Andrew McGinnes expressed his condolences to the family and his thanks to the doctor and nurses who tried to save Rippingale.
"This was a very difficult and sad event and our sympathies are with the passenger's family," he said.
Jetstar said the cause of death was unknown. A coroner's report was expected this month.