There was an early tester for Potters goalie Jack Butland who saved from a long-range Jonjo Shelvey shot as the Magpies looked to take it up to the home side.
Stoke left-back Erik Pieters then produced a wicked cross which just evaded Shaqiri rushing into the box.
The inclement weather played its role in a difficult start to the second half, with few chances of note.
Mark Hughes gave Peter Crouch his 400th Premier league appearance by introducing him in place of Jon Walters in an attempt to sway the tie in Stoke's favour before the only goal of the contest came in the 80th minute.
Swiss winger Shaqiri played an initial ball which deflected to Mame Biram Diouf who teed it up for his Potters colleague, inviting him to rifle beyond Rob Elliot from 25 yards, lighting up the Britannia on an otherwise subpar evening.
The win has Mark Hughes' men sitting seventh on the table, five points off fourth, while Newcastle remain 19th as their relegation battle really begins to heat up.
2015/16 Barclays Premier League - season scores