The decision on Saturday was taken to carry out a joint security forces operation at 5:35 a.m. (0335 GMT), Istanbul Governor Huseyin Avni Mutlu told reporters. "Shortly after the start of the operation, the vessel was boarded and the assailant was killed," Mutlu said. "It was clear that the assailant was a terror group member," he said. He was between 28 and 30 years old and was carrying a device with a button and cables which bomb disposal experts were analysing, Mutlu said.
Ambulances and police teams had been waiting on the nearby shore, and Reuters Television reporters saw some passengers, apparently uninjured, being taken to hospital at the nearby town of Silivri. Others, according to news channels, were taken to a police station.
Earlier reports said up to five suspected Kurdish militants armed with explosives carried out the hijacking on the high-speed 'Kartepe' ferry. "There is information that they are from a wing of the terror organisation," Yildirim said, referring to the militant Kurdistan Workers Party (PKK) which is fighting for Kurdish autonomy in the southeast of the country.
On Friday night, Turkish commandos on coastguard vessels tracked the "sea bus" in the Sea of Marmara before it ran low on fuel and had to anchor a couple of kilometres off the coast around 50 km (30 miles) west of Istanbul.
The ferry had been on a short run between the towns of Izmit and Karamursel. It had 18 passengers on board, including five women, and six crew, though it had capacity for up to 400 people.
Friends and relatives had waited overnight for news at the two ports, while fuel tankers had headed for the area where the vessel was anchored, according to media reports. Transport Minister Binali Yildirim had told reporters in the capital Ankara that the hijacker had not made any concrete demands and had only sought fuel, food and drink.
Shortly before 5:00 a.m. (0300 GMT) a flurry of activity was evident on the ferry's main deck. Hazy television pictures showed figures moving in the aisle between rows of empty seats. A few people were apparently wearing life jackets.
Security forces had been prepared for the possibility that the hijackers may want to take the vessel to Imrali island in the Sea of Marmara, where PKK leader Abdullah Ocalan has been jailed since 1999, CNN Turk reported.
Before a national election in June this year, Ocalan warned of a "big war" unless the state entered serious negotiations with him, and following a series of militant attacks Turkey launched mulitiple air strikes on PKK bases in northern Iraq, while police detained scores of suspected militants.
A hijacking would represent a change in tactics for the PKK which frequently carries out attacks on security forces in the mainly Kurdish southeast.
The PKK, and other militant groups have carried out air hijackings in the past, but they have been rare in recent years. Kurdish, leftist and Islamic militants are all active in Turkey. More than 40,000 people have been killed in the PKK insurgency since the group took up arms in 1984.
There was no immediate comment from the PKK.
PKK guerrillas have staged a series of attacks on Turkish armed forces this year and killed 24 soldiers in an attack in Hakkari, bordering Iraq, last month. That attack triggered cross-border operations by the Turkish military against the militants. Several thousand PKK fighters are based in the mountains of northern Iraq, from where they launch attacks on security forces in southeast Turkey.
Hijackings at sea are rare, but not unprecedented. In January 1996, pro-Chechen gunmen hijacked a Black Sea ferry in Turkey with 200 passengers on board and threatened to blow it up in protest at a Russian attack on Chechen separatists. Those hijackers surrendered three days later.