The airline said that an "incident" on flight BA422 which departed London's Heathrow at 3.10 p.m. on Monday and landed in Valencia, the BBC reported.
Passengers had to slide down emergency chutes to the runway.
British Airways has apologised to the 175 passengers on board the aircraft.
A statement from the airline said the flight had "experienced a technical issue" as it approached Valencia.
Three passengers were taken to hospital and have since been discharged, the airline added. It said staff members had assisted customers in the airport terminal after the evacuation.
British Airways said there were two pilots and six cabin crew members on the flight.
A BBC editor, who was on the flight with her children, said that smoke filled the cabin "very quickly" about 10 minutes before its scheduled landing.
She said there had been no official announcement about what was happening as white smoke appeared to come through the air conditioning system into the cabin.
"Very quickly, you couldn't see the passengers two seats down from you."
A passenger, who was on holiday with her husband, said: "There were no communications from the crew, some of which started to wear full oxygen masks and protective fire wear.
"People were crying and hyperventilating. It was genuinely scary."
( With inputs from IANS )