Alexandre Lacazette’s goal 12 minutes from time, which was confirmed by the video assistant referee, lifted the Gunners up to ninth, five points behind Chelsea in fourth.
The France forward swept a close-range effort into the bottom-left corner from Mesut Ozil’s cushioned header for his third goal in four games.
And it also ensured the Gunners claimed a third straight league win at home for the first time since February 2019.
“I’m happy because big teams find a way when they aren’t playing well,” Arteta said.
“We are turning the corner in terms of results, but our ship still has to turn a few times more to see what we want to see. It doesn’t happen overnight.”
West Ham, who have now lost their past six Premier League away games, had enjoyed the better of the scoring opportunities until Lacazette’s intervention and remain 16th, above the bottom three only on goal difference.
While David Moyes’ side had limited possession, they took the game to their hosts, who came out of the blocks sluggishly and struggled to inject any tempo to their play.
Jarrod Bowen’s early shot was tipped on to a post by Arsenal goalkeeper Bernd Leno and Michail Antonio failed to score from two clear chances either side of the interval.
Greece defender Sokratis Papastathopoulos earlier went close for Arsenal – he headed Pierre-Emerick Aubameyang’s cross against the bar – before Lacazette popped up with the winner.