QPR, whose relegation had been confirmed by last week’s 0-0 draw at Reading, were slowly out of the blocks and conceded the only goal with only 20 seconds on the clock.
Harry Redknapp’s side recovered to make a game of it, but were unable to create a clear-cut opening as Arsenal moved back into third position, albeit having played two games more than fourth-placed Chelsea, and one more than Tottenham in fifth.
Arsenal were in front after just 20 seconds when sloppy play from former Gunners full-back Armand Traore was punished when Mikel Arteta slipped in Walcott and his scruffy finish found its way past Rob Green.
Walcott came close to a second goal for the visitors on 26 minutes when he was played in by Tomas Rosicky, but his low shot struck the post.
QPR started to respond and created their best chance on 28 minutes when Andros Townsend cut in from the right, Bobby Zamora helped the ball on, but Park Ji-sung fired over.
Tal Ben Haim, who has scored just one goal in English football, then tried his luck from 30 yards after winning possession on the halfway line, but his shot was comfortably saved by Wojciech Szczesny.
The Arsenal keeper was tested more severely nine minutes into the second half by Townsend’s swerving effort before producing a more routine stop from Loic Remy’s low attempt.
Arsenal still carried a threat going forwards and Green awkwardly parried Santi Cazorla’s dipping shot before saving low at the near post from Walcott.
England winger Walcott was a lively outlet for Arsenal and a 25-yard piledriver from the right side of the pitch was fumbled by Green with 13 minutes to go.
QPR came closest to an equaliser on 83 minutes when Szczesny was forced into a full-length save to turn away Remy’s curling shot, but Arsenal held on for a first win at Loftus Road since 1990.