The Boeing 767-300 plane with 202 passengers and crew aboard had taken off from the Ethiopian capital, Addis Ababa, and landed in the Swiss city at about 6 a.m. (0500 GMT). Officials said no one on the flight was injured.
Geneva airport chief executive Robert Deillon told reporters that the co-pilot, an Ethiopian man born in 1983, took control of the plane when the pilot ventured outside the cockpit.
"The pilot went to the toilet and he (the co-pilot) locked himself in the cockpit," Deillon said.
The man "wanted asylum in Switzerland," he said. "That's the motivation of the hijacking."
The hijacking began over Italy, Switzerland's southern neighbor, and two Italian fighter jets were scrambled to accompany the plane, according to Deillon.
Passengers on the plane were unaware it had been hijacked, officials said.
A few minutes after landing in Geneva, the co-pilot exited the cockpit using a rope, "then he went to the police forces who were on the ground close to the aircraft," Geneva police spokesman Eric Grandjean said. "He announced that he was himself the hijacker."
It was not immediately clear why the co-pilot, whose name wasn't released, wanted asylum.
Police escorted passengers one by one, their hands over their heads, from the taxied plane to waiting vehicles.
Geneva prosecutor Olivier Jornot said Swiss federal authorities were investigating the hijacking and would press charges that could carry a prison sentence of up to 20 years.
Geneva airport was initially closed to other flights, but operations resumed around two hours after the hijacked plane landed. "We hope everything will return to normal in the afternoon," Deillon said.
Ethiopian Airlines is owned by Ethiopia's government, which has faced persistent criticism over its rights record and alleged intolerance for political dissent.
Human Rights Watch says Ethiopia's human rights record "has sharply deteriorated" over the years. The rights group says authorities severely restrict basic rights of freedom of expression, association, and assembly.
The government has been accused of targeting journalists, opposition members, as well as the country's minority Muslim community.