West Brom boss Roberto Di Matteo admitted to being "annoyed and disappointed" after his side slipped to defeat after leading at Bristol City.
The visitors deservedly went in front when Graham Dorrans beat Dean Gerken with a sweet low shot from the corner of the box on 24 minutes, the ball going in off the far post.
But the match turned in the 55th minute when City skipper Louis Carey touched on a Johnson corner, and Chris Iwelumo pounced to net the first goal of his loan spell from Wolves.
After Johnson's goal, the Baggies rarely looked like getting back into the game. There was a late chance for Roman Bednar, but Gerken pulled off a comfortable save
Di Matteo said: "We knew at half-time that the next goal in the game was going to be important, so to concede it from a corner was very frustrating.
"I felt we were in total control of the game up to then, and that their equaliser was the turning point.
"We didn't play well after that, and perhaps the number of fixtures we are playing is catching up with us, because we have been using mainly the same personnel in each game.
"It's disappointing to miss out on the chance to get back into an automatic promotion place, because that was our aim going into the game."