Officials credited the pilot and crew for convincing the 45-year-old-man, who claimed he had a bomb, that they were following his wishes.
"Through a very successful implementation by our pilot and crew, the plane was landed in Istanbul instead of Sochi," Istanbul governor Huseyin Avni Mutlu told reporters at the airport. "He thought it was going to Sochi but after a while he realized that (the plane) was in Istanbul."
He said the suspected hijacker was arrested after a stand-off during which a negotiator convinced him to first allow women and children to be evacuated and later agreed to let all other passengers off the plane as well.
"Our security units sneaked through various entrances during the evacuation of the passengers and with a quick and effective intervention the hijacker was subdued," Mutlu said. No bomb was found, he said.
The man's motive was unclear, but Mutlu said he had "requests concerning his own country" and wanted to relay a "message concerning sporting activities in Sochi." Mutlu said there was no immediate indication that the man was a member of any terror organization and Mutlu did not give his name...
The governor said the man was being held at Istanbul police headquarters. The man was slightly injured during the struggle when he was detained, but no weapons were used, he said. The private Dogan news agency said later that the man was taken to a hospital for his injuries. Private NTV television identified the man as Artem Hozlov.
The Interfax news agency cited the Ukrainian Security Service, the country's main security agency, as saying the passenger was in a state of severe alcohol intoxication. Mutlu said the man was not drunk, but said he may have taken substances to help him remain alert. He did not elaborate.
Habib Soluk, the Turkish Transport Ministry undersecretary, told NTV earlier that the man rose from his seat, shouted that there was bomb on board and tried to enter the locked cockpit. The pilot signalled that there was a hijack attempt and the airport was placed on high alert.
Air traffic at Sabiha Gokcen was halted throughout the incident but had returned to normal after the man's arrest.
Mehmet Tutan, one of the passengers, told reporters at Sabiha Gokcen that people on board also believed they had landed in Sochi but realized the plane was in Turkey after switching on their mobile phones.
"We thought we had landed in Sochi. We thought so for a long time," Tutan said. "Then we saw that there was a (Turkish) network on our mobile phone, that we were able to call outside, and that there was no roaming, we understood that we weren't in Sochi."