The Swans entered the match knowing that they needed to beat already-relegated Stoke to stand any chance of staying in the top flight, although that also relied on Southampton losing to Manchester City, and a big swing in goal difference occurring.
Southampton conceded late to lose at home to the Premier League champions, but Swansea could not keep to their end of the bargain as they lost for the 21st time in the top flight this term.
The hosts, who will play in the Championship next season for the first time since the 2010-11 campaign, actually made the breakthrough in the 14th minute when Andy King raced onto a through-pass from Andre Ayew before finding the back of the net with a smart finish.
Four minutes later, Swansea almost had their second when Wayne Routledge found all sorts of space inside the Stoke box, but the attacker sent the ball inches wide of the right post.
Stoke looked intent on taking Swansea down to the Championship with them, and the visitors took the lead in the 41st minute when Peter Crouch headed a Lasse Sorensen free kick into the back of the net.
Paul Lambert's side had the chance to score a third from the penalty spot early in the second period when Martin Olsson handed inside the box, but Shaqiri saw his spot kick kept out by the diving Lukasz Fabianski.
Andre Ayew and Sam Clucas both came close for Swansea in the period that followed, but the former was denied by a smart save from Jack Butland before the latter also found Stoke's goalkeeper, who is one of a number of players expected to leave the Potters this summer, in excellent form.
The Swans huffed and puffed in the latter stages as they looked to take a point from the match, but Stoke were resolute in a defensive area, and moved off the bottom of the table to join Swansea on 33 points.
SWANSEA CITY (4-4-2): Fabianski; Rangel, Van der Hoorn, Mawson, Olsson; Dyer (Clucas 68'), King (Britton 58'), Carroll, Routledge (Abraham 57'); J.Ayew, A.Ayew
STOKE CITY (4-3-3): Butland; Bauer, Zouma, Shawcross, Pieters; Allen, Ndiaye, Sorensen (Ireland 76'); Shaqiri, Crouch, Diouf