Abhishek Sachdev, who was on board tweeted: "Insane. Our British Airways flight to Dubai returned back to Heathrow because of a smelly poo in the toilet."
He told a newspaper: "The pilot made an announcement requesting senior cabin crew, and we knew something was a bit odd.
"About 10 minutes later he said 'You may have noticed there's a quite pungent smell coming from one of the toilets'.
"He said it was liquid faecal excrement. Those are the words he used."
The plane had been airborne for just 30 minutes when it turned round.
The next available flight was 15 hours later, so passengers had to be put up in a hotel overnight.
In a statement, British Airways says "A decision was taken to return for the safety and comfort of our customers on board.
"We're very sorry for the discomfort to our customers.
"We provided them with hotel accommodation and rescheduled the flight to depart the next day."