A Honduran woman was wounded in the confrontation.
Hundreds of rounds were fired and several grenades thrown in the three-way shootout, which lasted more than three hours and ended at dawn.
Police evacuated about 50 people from their homes as they searched rooftops for the assailants. At least three armed men were detained in a house identified as a drug cartel hideaway.
Authorities also found weapons caches and several tables upon which they said the cartels probably tortured kidnapping victims.
In another incident in Michoacan, a passer-by found the bodies of three men wrapped in blankets on Friday on the side of a highway near the city of Uruapan, state police said.
All three were bound, blindfolded, tortured and shot in the head.
Elsewhere in the country, police discovered the bodies of three young men who had been shot to death on a ranch near the border town of Tecate.
The men - ages 16, 18 and 23 - were killed shortly before midnight on Thursday In the northern state of Baja California on Friday, investigators said.
A fourth victim was seriously injured.
In the nearby city of Tijuana, across the border from the US city of San Diego, the Mexican army announced the capture of a drug-cartel suspect in an upscale neighbourhood.
The suspect, Eduardo Morquecho Hernandez, was found at a house with 690kg of marijuana, 32 guns and bags of caustic soda, a chemical frequently used to dissolve the bodies of drug gang victims, according to a statement released by the Mexican Army's second regional command.
Morquecho Hernandez is accused of working for Fernando Sanchez Arellano, a Tijuana drug lord known as The Engineer, and was being held on suspicion of drug trafficking and other possible charges, army officials said.
In yet another shootout on Friday, soldiers killed three armed men who failed to stop at a military roadblock in the northern state of Zacatecas, the defence department said in a statement.
Soldiers ordered a caravan of three cars to stop at the roadblock in the town of Valparaiso but instead the passengers opened fire on the troops, the statement said.
Two assailants were arrested.
In the Gulf coast state of Veracruz, the body of a nine-year-old boy kidnapped in late June was found on Friday morning in the city of Jaltipan, state police said.
Juan Enrique Espinoza was kidnapped on June 25 as he left school. Police have arrested five people suspected in the kidnapping, including a neighbour, authorities said. The kidnappers demanded roughly $40,000 in ransom.
In Veracruz on Thursday, a man was shot to death in the city of Boca del Rio and another was found tortured and killed inside a car trunk on Thursday in the state capital, Jalapa.