Arnautovic's goal came against his former club, who now sit just above the bottom three after five defeats in six games, and Mark Hughes faces a fight to keep hold of his job.
West Ham started well in the Potteries and after a Michail Antonio shot was directed straight at Jack Butland, the visitors were soon awarded a penalty when Manuel Lanzini was upended by Erik Pieters.
Noble took on responsibility from the spot and scored for his first goal of the season, but he soon had to be replaced by Declan Rice after picking up a knock.
As the first half drew nearer to a close, Arnautovic wasted two chances to double West Ham's lead, with a one-on-one opportunity going begging when Butland made a smart save and a second effort going over the crossbar.
Soon after the restart, Mame Biram Diouf headed over for Stoke before Arnautovic had a header of his own which struck the top of the crossbar.
Arnautovic was determined to get on the scoresheet and a second effort hit the woodwork as the game entered the final quarter, but it was not long before the Austrian international had his goal.
The summer signing played a neat one-two with Lanzini before lashing a shot past the helpless Butland, and it left Stoke needing to throw men forward in the final 15 minutes.
However, West Ham soon took advantage of the extra space and Lanzini was again the provider as the Argentine teed up Sakho to finish confidently from inside the penalty area.
The full-time whistle was greeted with cheers from the travelling support, but it was contrasting emotions for the home fans who will wonder whether Hughes will still be in the dugout when Stoke host West Bromwich Albion next weekend.
Stoke City (3-4-2-1): Butland; Cameron, Shawcross, Wimmer; Diouf (Berahino 62'), Fletcher (Adam 62'), Allen, Pieters (Tymon 63'); Shaqiri, Sobhi Ahmed; Crouch
West Ham United (4-5-1): Adrian; Zabaleta, Collins, Ogbonna, Cresswell; Noble (Rice 35'), Obiang, Arnautovic (Hernandez 79'), Lanzini, Masuaku; Antonio (Sakho 68')