The hosts went in front on 10 minutes when Gylfi Sigurdsson swung in a corner and Fernando Llorente directed a superb header past Jack Butland on his return to the Stoke team.
After the break Xherdan Shaqiri was fouled in the penalty area, but Arnautovic blasted the spot-kick high over the crossbar with 21 minutes left.
Swansea soon made it 2-0 through Tom Carroll, whose long-range effort was deflected in.
With 17th-placed Hull City defeating Watford, Swansea stay in 18th position, two points adrift of safety. Stoke remain 11th.