Alfie Mawson scored the only goal to end Liverpool's 14-match unbeaten run, a week after they beat Premier League leaders Manchester City.
In the first half, Virgil van Dijk headed just wide on his PL debut for Liverpool.
Mawson capitalised five minutes before the break when a corner ricocheted off team-mate Federico Fernandez.
Goalkeeper Lukasz Fabianski then superbly saved a Mohamed Salah free-kick before Roberto Firmino headed against the post and substitute Adam Lallana could not convert the rebound in a frantic final minute.
Carlos Carvalhal's Swansea moved to within three points of safety. Liverpool remain fourth, three points behind Chelsea and two ahead of Tottenham Hotspur.
Swansea: 30 Jan v Arsenal (H)
Liverpool: 30 Jan v Huddersfield (A)