Karachi, Pakistan (CNN) -- Clashes at Pakistan's largest and busiest airport left more than 20 people dead after militants armed with grenades stormed into a cargo area Sunday.
Violence erupted at Jinnah International Airport in Karachi around 11:30 p.m. Sunday and raged on for more than five hours as security forces fought off attackers, leaving some passengers trapped inside the airport.
Officials at Jinnah Hospital said the dead included eight members of airport security forces, two Pakistan International Airlines employees and one ranger.
All ten militants involved in the attack were killed, military spokesman Maj. Gen. Asim Bajwa said. Two of them detonated suicide vests, he said.
The attack ended Monday morning, and the airport is under military control, he said.
It was not immediately clear who the militants were or why they staged the assault.
Clashes broke out after attackers armed with grenades stormed the airport through three entrances, said Ahmad Chinoy, director-general of the citizen's police liaison committee.
One militant blew himself up in front of an armored car, leaving some people inside the vehicle critically injured, Chinoy said.
A plume of smoke rose over the airport as fires raged in at least two locations. Dozens of ambulances were lined up as police and military troops swarmed the area.
A building caught fire in the attack, but no planes were damaged, Bajwa said.
The airport's cargo area is about a kilometer (0.62 miles) away from the area where commercial planes take off.
Bajwa said the militants were contained in a maintenance area of the airport.
"All passengers in planes evacuated to safer places," he said in a Twitter post during the clashes. "Hunt for terrorists on."
Hours later, officials said the attack had ended and the airport was under the military's control.
All flights at the airport were canceled as the violence unfolded.
In a Twitter post, Bajwa said the airport would be cleared to resume operations by midday.
Several days ago, Pakistan's government had warned provincial officials of a possible "high-profile attack on a sensitive or key installation," but the warning did not mention the airport, said Qaim Ali Shah, chief minister of Sindh province.
Earlier Sunday, at least 22 people were killed in twin suicide bomb attacks in Taftan, Pakistan, near the country's border with Iran.
Quetta Police Commissioner Qambar Dashti said no one had claimed responsibility for those attacks, which hit a hotel housing Shia pilgrims.