Three federal police officers were killed in a chaotic shootout in Mexico City's busy international airport when they tried to arrest drug suspects, officials and witnesses said.
The shooting erupted at a crowded food court at around 8:50 am (1350 GMT) Monday, sending panicked travelers diving for cover and racing to hide in bathrooms.
Mexico has been gripped by a wave of drug killings in recent years but the gang violence has mainly been confined to areas along the US border and major ports. There have been no attacks inside the airport in recent memory.
Federal Police said late Monday that the suspects appeared to be airport police who were part of a drug trafficking ring involving corrupt officials, adding that the men had opened fire in order to evade capture.
"Finding themselves surrounded," the alleged traffickers "opened fire with their weapons against the federal police," the Public Security ministry said.
Two federal police officers died at the airport while another died of wounds in hospital, it said.
Federal and local police cordoned off the area and used airport signs to cover the food court windows.
Some of the shocked witnesses said it appeared as though police were firing on their colleagues, while others said the gunmen were wearing civilian clothes.
"I saw police officers running after another policeman that they eventually shot at," Alejandro Suarez, who works at a pharmacy near the food court, told AFP.
"They were all police officers shooting at each other, at least people in uniform," a woman told Milenio TV. She refused to give her name.
"We threw ourselves on the ground -- there were four civilians shooting at the police," another woman told radio Formato21.
Police did not say if the suspects were dressed as police officers.
The Ministry of Communications and Transportation issued a brief statement denouncing the "quarrel in an area of open access" of the airport's Terminal 2.
"This situation does not in any way affect operations," it said.
Police patrols have increased across the country ahead of Sunday's presidential election.
Mexico City's Benito Juarez International Airport is the second busiest in Latin America, handling some 24 million passengers a year.
Terminal 2, where the shooting took place, opened five years ago and is a hub for Aeromexico, Chile's LAN and Panama's Copa Airlines.