The Boeing 767-300 aircraft with 202 passengers and crew on board had taken off from the Ethiopian capital, Addis Ababa, and landed in Geneva at about 6am local time (0500 GMT). Officials said no-one on the flight was injured.
Robert Deillon the Geneva airport chief executive told reporters that the co-pilot, an Ethiopian man born in 1983, took control of the plane when the pilot left the cockpit.
The hijacking began over Italy, Switzerland's southern neighbour, and two Italian fighter jets were scrambled to accompany the plane, Mr Deillon said.
After landing in Geneva, the co-pilot exited the cockpit using a rope and turned himself in to authorities. Police escorted passengers one by one, with their hands above 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 which 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.
According to Reuters, the last senior Ethiopian official to seek asylum was Ermias Legesse, a state minister of information who fled to the United States in 2009. The brief incident in Geneva on Monday morning caused the cancellation of some short-haul flights and some incoming flights were diverted to other airports. Hundreds of passengers booked on disrupted flights sought to change their tickets.
Ooh well, thank God nobody was injured……