A British Airways flight bound for Dusseldorf was mistakenly flown to Edinburgh.
Flight BA3271 departed from London City just after 7.30am.
The pilot then followed instructions to fly to the Scottish capital, not the German city, which is 500 miles away.
When flight crew were told of the mistake, the plane was refuelled, before setting off for Dusseldorf.
It landed more than three and a half hours behind schedule.
German company WDL Aviation operated the flight on behalf of BA CityFlyer, a subsidiary of British Airways.
Both firms have launched an investigation to establish the cause of the 'unfortunate mix-up'.
A British Airways spokesman said: "We are working with WDL Aviation, who operated this flight on behalf of British Airways, to establish why the incorrect flight plan was filed.
"We have apologised to customers for this interruption to their journey and will be contacting them all individually."
Two robbers injured a Bargain Booze worker with a knife before stealing cash and cigarettes
WDL Aviation said in a statement: "We are working closely with the authorities to investigate how the obviously unfortunate mix-up of
flight schedules could occur.
Read more of today's top stories here
"At no time has the safety of passengers been compromised.
"We flew the passengers on the flight with number BA3271 to Dusseldorf after the involuntary stopover in Edinburgh."
Manchester weather: Spring is in the air with temperatures set to soar this week