First-half goals from midfielders James Morrison and Zoltan Gera earned West Brom a two-goal advantage, which was halved by Adel Taarabt, but Rangers could not mount a comeback and thus remain winless after seven league matches.
Scotland international Morrison was involved heavily in West Brom's attacking play and nearly returned the favour to Long, who blazed over from his fizzing low cross.
Gera showed more composure to double West Brom's lead, calmly side-footing home after Morrison's dangerous cross had only been partially cleared by Anton Ferdinand.
However, a potential Rangers fightback was stalled when Youssouf Mulumbu restored West Brom's two-goal cushion against the run of play.
The midfielder applied the finish to a fine Baggies move, converting from Morrison's cut back after the former Middlesbrough man had exchanged passes with substitute Gonzalo Jara.
Granero gave the visitors late hope when he added a goal to his earlier assist, chipping the ball over Foster into the top corner.
That nearly inspired an injury-time equaliser for the Hoops, but Taarabt blazed the ball over from close range with the final kick of the game.