The airline announced it is “merging” some of its flights between Heathrow and the Italian city’s Linate airport.
Around 22 return flights over the next two weeks are affected.
British Airways’ flights to and from Milan Malpensa are continuing as normal.
A spokesman for the airline said: “To match reduced demand due to the continuing coronavirus issue, we are merging a small number of flights to and from Milan.
“We will be contacting customers on cancelled flights so we can discuss their travel options including alternative British Airways flights within two hours of their original departure time where possible, full refunds or booking for a later date of travel.
“We understand that some customers flying to/from northern Italy may wish to change their travel plans and have introduced flexible booking options.”
Passengers are advised to visit ba.com for the latest information on their flights.
British Airways and Virgin Atlantic have suspended their flights to mainland China because of the virus, but some Chinese carriers continue to serve the UK.
The International Air Transport Association warned last week that airlines could lose 29.3 billion US dollars (£22.7 billion) this year due to the outbreak.