Potters boss Tony Pulis made 11 changes from the side knocked out of the Europa League by Valencia in midweek and he got the result he was looking for, with Upson heading in his first league goal for the club in the 24th minute before Crouch followed suit from another set-piece 15 minutes later at the Britannia Stadium on Sunday.
Scott Sinclair missed a glorious chance for Swansea in the opening two minutes and they had to wait until injury-time for another one, Asmir Begovic pushing Steven Caulker's header on to the bar.
Both managers made changes in goal, with Pulis giving Begovic his first league start in almost three months ahead of Thomas Sorensen, while the ill Michel Vorm was replaced by Premier League debutant Gerhard Tremmel for Swansea.
The teams' preparations could not have been more different, with Stoke playing both legs of the Valencia tie and an FA Cup clash with Crawley while Swansea, who won the reverse fixture 2-0 in October, took the opportunity to head off to Tenerife for a training camp.
Brendan Rodgers' side got their first glimpse of goal inside two minutes, and it was a very good one, Nathan Dyer breaking down the right and pulling the ball back for Sinclair, who skied his shot horribly over the bar.
Stoke immediately broke down the other end and a long throw from Ryan Shotton was only half cleared to Glenn Whelan on the edge of the box, and his shot was flicked on by Crouch but well blocked by the Swansea defence.
After a lively start the tempo dropped, but in the 24th minute the deadlock was broken as Upson powered in a header from a Matthew Etherington corner as Tremmel chose to stay on his line.
Swansea responded well and full-back Neil Taylor was allowed to run virtually from the halfway line into the heart of the penalty area before Upson produced a crucial block.
The visitors were monopolising possession but lacked a cutting edge and they were undone again six minutes before the break from another set-piece.
This time Shotton's long throw was Stoke's weapon and Crouch had the simple task of nodding it in past the despairing dive of Tremmel.
Stoke began the second half looking hungry for a third and again it was set-pieces that were causing problems for Swansea, although Tremmel did well to punch the ball away after Crouch had headed an Etherington corner towards goal.
At the other end, Dyer, who had looked Swansea's most dangerous player, curled a shot wide of the far post but it was a rare break for Swansea and in the 55th minute Jon Walters almost made it three.
Shotton's long throw again picked out the head of Crouch, who beat Tremmel to the ball comfortably to flick on but Walters could only place his header over the bar.
Stoke were pressing very high up the pitch, not allowing Swansea's defenders any time on the ball, and even when they did manage a spell of pressure they could not test Begovic.
Both managers made changes, Cameron Jerome replacing Etherington for Stoke while Luke Moore and Josh McEachran came on for Sinclair and Dyer for Swansea.
Shotton was having a fine game for the hosts and curled in a superb cross that Walters probably should have done better with than head wide of the near post.
Swansea pressed hard in the closing stages but did not test Begovic until injury-time, when the Bosnia international somehow managed to push Caulker's bullet header onto the bar from Gylfi Sigurdsson's free-kick.
The victory, Stoke's first points in the league since a draw with Liverpool on January 14, meant Pulis' side climbed above their opponents and into 12th place in the table.