Conor Hourihane’s early strike saw Swansea City temporarily climb into the automatic promotion places with a narrow victory over Luton at blustery Kenilworth Road.
In difficult conditions Republic of Ireland international Hourihane netted his fifth goal since arriving on loan from Aston Villa, as he fired home Yan Dhanda’s pull-back and inflicted just a fifth home defeat of the season on the Hatters.
The Swans had to defend well as the like of Elijah Adebayo and Harry Cornick threatened for the hosts, but they racked up an 18th clean sheet of the season to make it 10 points from the last 12.
It moved them up to second in the table, but Watford’s win at Cardiff later in the day put the Hornets back ahead of the Swans on goal difference having played a game more.
Steve Cooper made five changes to his starting line-up with Ryan Bennett, Joel Latibeaudiere, Ryan Manning, Korey Smith and Dhanda coming in as the alterations from the draw at Blackburn.
Marc Guehi missed out through injury, while Ben Cabango, Jake Bidwell, Jay Fulton and Jamal Lowe dropped to the bench.
The Swans made a dream start as they took just three minutes to break the deadlock.
From a Luton corner, the Swans launched a quick attack with Manning sending Dhanda down the left flank. He raced on and outfoxed his marker before cutting back a perfect pass inside the box for Hourihane, and the Irishman slotted home past Simon Sluga.
Luton, though, were not discouraged from the early setback and they immediately went in search of an equaliser.
Jordan Clark gave the visitors cause for concern with a low, curling effort which dropped past the far post after 11 minutes, before the Hatters went even closer moments later.
Cornick’s cross from Luton’s right flank was met by the towering head of Dan Potts, who beat the onrushing Woodman, but the defender was deemed offside.
Buoyed by their pressure, Luton again asked questions of the Swans’ resolve as Pelly-Ruddock Mpanzu latched onto Woodman’s clearance, and it took quick feet and a fine save by the keeper to parry the effort wide for a corner.
The warnings kept coming for the Swans, who were having trouble building phases going forward.
Cornick was this time the culprit for the Hatters, as he flashed a header wide from Kiernan Dewsbuiry-Hall’s cross.
That came before a collision between scorer Hourihane and Potts, which left the latter being stretchered off, in what proved the last action of the half.
After the break, Cornick failed to make contact with a decent Adebayo cross, before the latter nodded straight into the hands of Woodman from an Mpanzu diagonal cross.
The Swans then could, and probably should, have made the Hatters pay for a careless mistake.
When Kai Naismith looked to play a free-kick against Smith, who had stood in front of him to stop it being taken quickly, it backfired as the ball went straight to Matt Grimes. The Swans skipper opted against going for goal with Sluga off his line, and instead the ball was worked wide for Hourihane, but his low effort from an angle was saved comfortably.
The mistakes didn’t end there, though, with the Swans almost being made to pay for some miscommunication. Dhanda’s short corner was intercepted, and Luton sped up the pitch before Cornick’s cross evaded everyone and dropped wide of the far post.
Cooper responded by sending on Fulton and Lowe for Hourihane and Dhanda.
Having been awarded four penalties in as many games, the Swans thought they had a good shout for a fifth as Manning went down under Sluga’s challenge as he beat the keeper to a through ball into the box. Referee Darren Bond, though, turned down the appeals.
The hosts continued to plug away, but the Swans showed trademark resilience to pick up another vital victory.
Luton Town: Simon Sluga; Matty Pearson (captain, Kazenga Lualua, 83), Kai Naismith, Dan Potts (Martin Cranie, 45); James Bree, Ryan Tunnicliffe, Kiernan Dewsbury-Hall, Jordan Clark; Pelly Mpanzu; Harry Cornick (James Collins, 70), Elijah Adebayo.
Subs not used : James Shea, Luke Berry, Glen Rea, Sam Nombe, Joe Morrell, Tom Ince.
Swansea City: Freddie Woodman; Kyle Naughton, Ryan Bennett, Joel Latibeaudiere; Connor Roberts, Korey Smith, Matt Grimes (captain), Conor Hourihane (Jay Fulton, 65), Ryan Manning; Yan Dhanda (Jamal Lowe, 65); Andre Ayew.
Subs not used: Ben Hamer, Wayne Routledge, Morgan Whittaker, Jake Bidwell, Kieron Freeman, Brandon Cooper, Ben Cabango.
Referee: Darren Bond