Saints created the first opening in the sixth minute but Stuart Armstrong's shot drifted over Lukasz Fabianski's goal.
West Ham took the lead in the 16th minute when Mark Noble found Arnautovic who placed his shot beyond Fraser Forster, the goalkeeper featuring in the Southampton side for the first time since Boxing Day 2017.
Midway through the first half, Forster punched Manuel Lanzini's shot away from danger before Austria international Arnautovic wasted a good opportunity to double the Hammers' lead.
Forster then saved Michail Antonio's effort as Manuel Pellegrini's team ended the first half well.
Southampton brought on Nathan Redmond for Danny Ings at the start of the second half and he almost equalised with his first touch only for his shot to be blocked as the visitors began to move through the gears.
On the hour mark Shane Long set up Mohamed Elyounoussi who was unable to get his shot away.
However, after Redmond's volley had been turned over the bar by Fabianski, West Ham doubled their lead against the run of play in the 69th minute when Arnautovic headed the ball in from close range after Forster had tried to punch Arthur Masuaku's cross away.
Just three minutes later the points were wrapped up when Ryan Fredericks played a one-two with Jack Wilshere before beating Forster as Ralph Hasenhuttl's side suffered their 17th loss of the campaign.