At least 35 people were killed and 40 wounded in the attack, Istanbul’s governor Vasip Şahin said, calling the incident a terrorist attack.
The attack took place at the well-known Reina nightclub in the Ortakoy neighborhood, in Istanbul’s Besiktas district.
Speaking about the circumstances of the attack, Şahin told local media that the assailants first killed the police officer, who was standing at the door of the club, and then went on a rampage inside, killing innocent civilians.
A policeman and a civilian are reported to be among the two known casualties at the nightclub.
There were two attackers involved, according to NTV, but conflicting reports also described a lone gunman.
Eyewitnesses at the club said that the attacker was speaking Arabic, Turkish media are reporting.
The gunmen were dressed in Santa Claus outfits, wielding assault rifles, Turkish media said.
The attackers opened fire on clubgoers, injuring at least 20-30 and killing two, according to NTV. One of the gunmen has reportedly hidden inside the club, while the whereabouts of the second one were not immediately clear.
The number of casualties may rise, as it is estimated that between 700 and 800 people could have been in the club at the time of the attack, Mynet Haber reports.
Emergency crews have been evacuating injured people from the building as police search the area.
After the attackers stormed into the building, some club-goers jumped into the sea in panic, Turkish media cited eyewitnesses as saying. A search and rescue operation for those who jumped in the water is being carried out by maritime police.