Chris Brunt beat the England keeper from 30 yards with a shot he perhaps should have saved.
Green then dropped the ball into his own net to give the Baggies a 2-0 lead just after the re-start, although replays showed Marc-Antoine Fortune had impeded the former West Ham man as he came to collect the ball when it looped up off Armand Traore.
Rangers pulled one back through Djibril Cisse but could not force an equaliser.
QPR started promisingly and Stephane Mbia fired a drive inches wide.
Shaun Wright-Phillips produced a dazzling piece of skill to beat Billy Jones but Jamie Mackie could only head the winger's cross wide.
Brunt put the visitors ahead just before the half hour. He picked the ball up from Marc-Antoine Fortune and strode at goal before unleashing a 30-yard drive that sailed into the bottom right-hand corner of Green's goal.
West Brom doubled their lead in controversial circumstances. Traore attempted to clear Brunt's corner but his header looped back towards his own goal. Green attempted to collect the ball but he was impeded by Fortune, who leaned in to the keeper, causing him to drop the ball in to his own net.
QPR hit back in the 69th minute when Cisse latched on to Mbia's pass and lifted the ball over the advancing Ben Foster.
QPR pushed for an equaliser and Foster saved brilliantly on the line from QPR captain Clint Hill in the last minute.