Ivan Klasnic grabbed Bolton's goal from the penalty spot as the Trotters briefly looked as though they could push on to win the game.
Thomas broke the deadlock on 16 minutes, timing his run perfectly after being put in by James Morrison, before going round Jussi Jaaskelainen and slotting the ball into the back of the net.
West Brom's lead was short-lived as Bolton levelled terms four minutes later when they were awarded a penalty. Referee Neil Swarbrick pointed to the spot after adjudging Thomas had blocked the run of Fabrice Muamba. Klasnic stepped up and made no mistake, slamming the ball low past Ben Foster.
Bolton finished the half the stronger and went close to a second before the break through Mark Davies, Foster making a great save to keep his effort out.
At the other end Zoltan Gera's downward header was straight at Jaaskelainen.
Bolton couldn't repeat their first-half showing after the break and the home side took the lead again on 56 minutes. Thomas was involved once more before Nicky Shorey dinked the ball in for Long to head home.
West Brom enjoyed chances to add a third. The impressive Thomas' snap-shot flew straight into the hands of a grateful Jaaskelainen, while Gera - who came more into the game in the second period - blazed over the bar with a right-foot effort.
The result sees West Brom in 10th spot in the table, while Bolton languish in the relegation zone, third from bottom.