But West Brom were gifted a route back into the game after a mistake by goalkeeper Seny Dieng led to the equaliser.
Dieng allowed a shot to his near post from Grant to squirm from his grasp and into the net for Albion's equaliser in the 75th minute, cancelling out Andre Gray's opener after just 43 seconds.
Grant then scored the winner in the 88th minute.
Up until the equaliser, it looked like it was going to be a hard-luck story for West Brom, who dominated territorially and created numerous chances without having the decisive touch in front of goal.
Rangers took the early lead when a through-ball by Moses Odubajo down the right caught the Albion defence napping, putting Gray clean through before he took a touch and slotted past goalkeeper Sam Johnstone.
Kyle Bartley played Gray, born in nearby Wolverhampton and making his 250th league start, onside while Johnstone was also at fault after initially coming for the ball then retreating.
Albion sought a swift reply but they were restricted to long-range efforts as Grady Diangana drove wide and Grant fired straight at goalkeeper Dieng, who also easily held Darnell Furlong's chip.
Furlong sliced well over as Albion struggled to create clear-cut chances against a well-organised visiting side.
West Brom thought they were level in the 35th minute. Former QPR winger Matt Phillips crossed and Adam Reach steamed in for a powerful header that was blocked by Dieng on the line.
Another header, this time by Furlong, looped over after Grant got wide to cross from the left before Albion were booed off at half-time.
QPR created the first chance of the second half when Odubajo's rising drive was flicked away by Johnstone.
West Brom tried to hit back but Jordan Hugill's header from 12 yards was high and wide from Reach's centre.
They had better fortune 15 minutes from time. Grant's angled shot seemed a routine effort but the ball somehow escaped the grasp of Dieng and rolled agonisingly behind him into the net.
Grant then fired left-footed across Dieng after a lovely four-pass first-time move which saw Hugill backheel the ball to Callum Robinson, who fed the £15million striker.