The Scotland international settled the contest midway through the first half with a 25-yard strike.
But QPR should have picked up at least a point with Bobby Zamora causing plenty of problems but spurning several opportunities.
Mark Hughes’ side have strung together some impressive results at Loftus Road in recent weeks to revive their hopes of staying up.
But they have now failed to win in 11 away matches and picked up only two points.
Albion have now moved past the 40-point mark and can look forward to a third successive season of top flight football.
Youssouf Mulumbu made his presence felt in midfield while left-back Liam Ridgewell again showed he was an astute signing by Roy Hodgson from Birmingham in January.
QPR started brightly and Zamora went close to putting them ahead after only two minutes.
The England striker found himself with only Ben Foster to beat after the ball ricocheted invitingly into his path.
But Foster was alert to the situation and came quickly off his line to block the shot at the expense of a corner.
Brunt had Albion’s first attempt on goal but his shot was smothered by Joey Barton.
Odemwingie had a good chance to end his five-game run without a goal after Thomas had spotted his run – but the Nigerian international screwed his low drive just past the far post.
The only goal of the game came from Dorrans after 22 minutes. The Scotland international received the ball from Odemwingie 30 yards out and his rising shot flew past Kenny into the roof of the net.
QPR tried to respond and Adel Taarabt found himself in a yard of space just outside the box but he dragged his shot wide of the far post.
A fine pass in between the Albion defence played in Barton. whose ball across the danger area picked out Samba Diakite. The midfielder’s rising effort contained plenty of power but was a yard wide of the mark.
Zamora should have levelled after 39 minutes when he found himself with a free header from a pinpoint Barton cross – but angled it just wide.
Foster then beat out a fierce drive from Zamora, who had worked under Albion coach Hodgson at Fulham.
Mulumbu became the first player to be booked after 52 minutes for bringing down Nedum Onuoha in full flight.
Albion came close to doubling their lead five minutes later when Odemwingie’s reverse pass picked out the run of Jones, whose low shot hit the base of a post.
A deep corner from Taarabt was seized onto by Barton in space but his curling effort was high and wide.
Ridgewell was booked for time-wasting when taking a throw-in, before a fine tackle from Hill halted Albion substitute Shane Long inside the box as he prepared to shoot.
Dorrans became the third Albion player to be yellow carded for lunging at QPR substitute Wright-Phillips – and he was immediately taken off and replaced by Keith Andrews.
Zamora’s unhappy day continued when he was found in space by Taarabt inside the Baggies box but sliced his shot, which hit the back of Jamie Mackie.
Kenny had to be alert to hold a dipping 25-yard free-kick from Brunt away to his left, before Long should have made it 2-0 in injury-time only to shoot wide.