Flight BA548 took off normally from Heathrow shortly before 9am for the 900-mile flight to Rome’s Fiumicino airport.
But after less than 20 minutes, shortly after the Airbus A321 had crossed the Channel coast at Dungeness, the crew “squawked 7700” – the international code indicating an emergency to air-traffic controllers.
The aircraft circled over the English Channel then returned to Heathrow, being given priority clearance to land at British Airways’ main base.
A BA spokesperson said: “We’re sorry for the delay in our customers’ travel plans after their aircraft had to return to Heathrow as a precaution after a minor technical issue.
“Our teams on the ground are looking after our customers whilst we source another aircraft to continue their journey.”
Passengers are expected to arrive in Rome five hours late, at 5pm local time.
London-bound travellers were also delayed.