Two others were missing, South Korea’s coast guard said, as a search and rescue operation continued.
The chartered fishing boat, the Seonchang-1, had been carrying 20 passengers and two crew during a fishing tour at the time of the crash.
Footage from the scene showed the upturned boat being searched by divers.
Navy helicopters and dozens of ships were taking part in the search southwest of Incheon, near Yeongheung island.
Seven people were taken to hospital for treatment. The captain of the 10-tonne fishing boat was among the missing, according to one report from AFP.
There were no reported injuries on board the 336-tonne fuel tanker.
South Korean news agency Yonhap said the collision happened nine minutes after the boat departed from the shoreline, possibly as the two vessels passed each other under a bridge.
“There’s no specific problem related to weather conditions, sailing reports or other (pre-departure) preparations,” a coast guard official told reporters. “We are investigating how the accident happened.”
Cold water temperatures may also have contributed to casualties, the official said.
The accident is believed to be the worst in South Korea since 15 people died on a fishing tour near Jeju in 2015.
The year before, a passenger ferry capsized and more than 300 people died, most of them school children on an outing.