The west Londoners dominated proceedings throughout as they avoided a third straight defeat in the competition to lower league opposition without much fuss.
QPR enjoyed the better of the first period and took the lead when Zamora played a superb through-ball for Shaun Wright-Phillips to prod home just before the half-hour mark.
The Hoops were almost pulled back by their League One counterparts as William Grigg hit the bar after the break, but Zamora extended the Hoops’ lead with an inspired chip.
Jose Bosingwa netted late on to wrap things up for QPR, who saw Alejandro Faurlin and Kieron Dyer impress after long-term absences through injury.
The former was a surprise inclusion in the Hoops starting line-up as he made his first appearance after suffering a ruptured anterior cruciate ligament in January.
Faurlin was part of a strong team named by Mark Hughes, who handed first starts to summer signings Ryan Nelsen, Bosingwa and Andrew Johnson.
Wright-Phillips was also brought in to face Walsall, who handed new signing Andy Taylor his debut.
It did not take long for the left-back to come under the cosh as QPR came close three times in quick succession around the 10-minute mark.
First Wright-Phillips directed a Fabio cross just wide, before Johnson found his way into the box and tested goalkeeper David Grof. The Hungarian palmed that effort wide but was fortunate to see Nelsen direct a powerful header off target from the resulting corner.
Things went quiet after that – no surprise given the 6,129 attendance – until the visitors’ Ashley Hemmings drilled a free-kick straight at Rob Green.
The match livened up again in the 25th minute as Bosingwa sent in a great cross from the right flank, which was glanced just across the face of goal by Johnson.
Faurlin and Park Ji-sung then saw shots blocked, before a clever pass by Zamora saw QPR break the deadlock.
The former Fulham striker threaded a ball through to Wright-Phillips, who scored with a brave sliding toe poke under pressure.
It was no less than QPR deserved for a dominant opening and things got worse for Walsall in the 37th minute as Adam Chambers limped off with what appeared to be a hamstring injury.
James Baxendale came on in his place and the Jamie Paterson went close soon after for the visitors, flashing a shot across the face of Green’s goal.
It proved to be the last notable moment of the first half but Walsall returned after the break confident.
Green could only unconvincingly parry a long-range Florent Cuvelier effort, before Will Grigg rattled the crossbar with a header from the corner that followed.
Andy Butler tried to turn home in the resulting melee before QPR cleared, to the frustration of the 436 travelling fans.
The Hoops managed to weather the storm and soon began to frustrate the visitors by dominating possession.
It resulted in a rather drab period of the game that came to an end in stunning fashion in the 66th minute.
Dyer – making his first appearance since the opening game of last season – played a superb ball six minutes after coming on to Zamora, who sent a deft chip over Grof.
Butler had to react quickly to prevent Park extending QPR’s lead further soon after, before substitute Armand Traore blazed over.
Another man fresh off the bench, Walsall’s George Bowerman, then came close, flicking just wide of the far post.