Rescuers clustered around the plane in rubber boats more than two hours after the crash, and could be seen pulling carry-on luggage from an open plane door.
The country's Central News Agency said eight people were killed out of 26 that had been pulled from the plane. The rescue was continuing.
CNA said the flight from Taipei to the outlying island of Kinmen lost contact with flight controllers at 10:55 a.m. and the fuselage landed in the Keelung River near the city's downtown Sungshan airport.
The plane also hit a taxi, the driver of which was injured, as it flew into the river, TVBS reported.
It was the second of TransAsia's French-made ATR 72 planes to crash in the past year. Last July, a flight crashed while attempting to land on the island of Penghu off Taiwan's coast, killing 48 people and injuring another 10. Stormy weather and low visibility were suspected as factors in that crash.