Andrew Wilkinson told the Mail on Sunday that a BA cabin crew member “gave him wet wipes to clear up the mess himself” when he alerted cabin crew.
Wilkinson said: "I told her, ’I can’t sit here’, but she just laughed. Her response was, ’I can see you are going to work me really hard on this flight, aren’t you’?"
He added: "In the end, I put a plastic bag over the seat and covered it with a blanket."
The IT consultant from London said he boarded the flight from Heathrow to visit his parents in Cape Town.
After Mr Wilkinson took to Twitter to voice his anger, BA offered him 5,000 of Avios rewards points in compensation before upping its offer to a flight voucher worth £435, or a free upgrade on his next flight to Cape Town.
He said: “I am not bothered about compensation. I’d just like a proper apology.”
A BA spokesperson said it had since been in touch with the customer to "apologise and make amends".