Christopher Nkunku's first-half penalty was enought to send Chelsea through to Friday's Europa Conference League draw despite a 2-1 second-leg defeat against Servette, going through 3-2 on aggregate.
Nkunku's 14th-minute opener was cancelled out with goals either side of half-time from Jeremy Guillemenot and Enzo Crivelli, but the Blues were able to hold on to progress.
After a nervy start in Switzerland, Chelsea were awarded a spot-kick when Keigo Tsunemoto fouled Mykhailo Mudryk inside the box, with Nkunku stepping up to score from 12 yards as he did in the first leg.
But the hosts would draw level in the 32nd minute when Guillemenot was picked out by Dereck Kutesa before firing past Filip Jorgensen to level the game on the night.
Servette, though, won the game with just under 20 minutes to go. A header from Crivelli at the near post beat Jorgensen and gave the Swiss supporters hope of an upset.
Timothe Cognat almost sent the game into extra-time as his effort whistled past the post in the closing stages, with Enzo Maresca's side leaving Geneva a relieved group of players.
Data Debrief: Chelsea scrape through in Switzerland
The Blues are in the hat for Friday's Conference League draw, but they made difficult work of the encounter.
Maresca's side created the better of the chances, with seven of their 18 shots on target, accumulating an expected goals (xG) total of 2.23 on the night.
But they squandered some golden opportunities to make their life easier, missing five big chances as well as hitting the woodwork at the Stade de Geneve.