In a tetchy encounter at the Liberty Stadium, Michael Laudrup’s side followed up an impressive victory in Valencia a fortnight ago with a battling performance in front of their own fans.
Swansea could have been 2-0 down inside the opening 20 minutes, but Gerhard Tremmel saved Goran Karanovic’s poor penalty after Dwight Tiendalli handled a cross and then Marco Mathys rolled a shot wide after nipping in behind the defence.
However, Swansea upped the tempo as Jordi Amat’s glancing header came back off the post and Michu had two viable penalty appeals dismissed, the second of which left the Spanish attacker with a head wound.
Last season’s Capital One Cup winners made the breakthrough seven minutes into the second half when Daniel Lopar was unable to stop Wilfried Bony’s shot and Routledge nudged the ball over the line.
St Gallen continued to offer a threat and Stephane Nater’s low 35-yard shot struck the post nine minutes from time, but Swansea held on to take control of the group.
St Gallen’s 12-match unbeaten run and wins over Spartak Moscow and Kuban Krasnodar in this competition suggested they would provide the sternest test Swansea had yet faced in Europe, and so it proved.
The Swiss side looked sharp on the counter and one such rapid attack led to the penalty on 14 minutes. Roberto Rodriguez’s cross struck Tiendalli on the arm and, although Swansea protested, it looked a fair decision from referee Duarte Gomes.
But Karanovic, with nine goals to his name so far this season, produced a dreadful penalty, with the stutter in his run-up ensuring his effort lacked power and Tremmel gratefully saved.
Mathys also wasted a gilt-edged chance for the visitors, sliding his shot past the advancing Tremmel, but narrowly beyond the post.
Swansea responded by hitting the upright when Ben Davies floated over a free-kick and Lopar just about pushed Amat’s header onto the post.
Michu, having already had one penalty claim rejected, then went down in the box as Stephane Besle caught him on the head.
Again no spot-kick was given and, when Michu got to his feet with blood streaming from a cut, a farce developed as efforts to stem the flow, including vaseline, bandages and a change of shirt, all failed.
He was then prevented from returning as blood seeped onto his change shirt, before a numberless jersey was finally deemed up to standard and he wandered back on after a full eight-and-half minutes off the field.
During his absence Tremmel was forced to quickly reclaim a Mathys shot after fumbling initially, while Bony fired narrowly wide after Swansea’s best passage of play.
Swansea struck decisively on 52 minutes when Routledge tapped home at the far post and, after the goal, Swansea finally enjoyed some semblance of control.
However, they almost had a rude awakening when Karanovic’s replacement Alhassane Keita beautifully brought down a long ball and lofted over Tremmel, but also over the bar.
At the other end substitute Alvaro Vazquez, on for Bony, almost doubled Swansea’s lead with his first contribution, racing clear but curling just wide.
Lopar then saved brilliantly from Dyer, before Swansea saw out a nervy final 10 minutes, with Netar striking the post from distance, to make it two wins from two ahead of a home game against Kuban Krasnodar later this month.