From Switzerland

By train : direct lines from Lausanne (35 minutes), Neuchâtel (1h10), Fribourg (1h20), Berne (1h45), Zurich HB (2h40), etc.

& don’t forget carsharing (BlablacarCovoiturage LémanKel Billet, etc.)!

From France

By train: direct lines from Lyon (1h45), Paris (3h10), etc.
Carsharing: with BlablacarCovoiturage LémanKel BilletKarzoo, etc.
By air: direct flights from Paris (1h), Nice (1h), Toulouse (1h), Nantes (1h20), Bordeaux (1h20), etc.

From abroad

Brussels: 1h15 nonstop, from 75 CHF for a return ticket / EASYJET, BRUSSELS AIRLINES
Berlin: 1h20 nonstop, from 120 CHF for a return ticket / EASYJET
London: 1h40 nonstop, from 80 CHF for a return ticket / EASYJET, BRITISH AIRWAYS & SWISS

Good to know:

? It’s sometimes cheaper to land in Zurich and to get to Geneva by train
? From Geneva Airport, collect your free TPG ticket to get to the center