The hosts, who went into the game lying bottom of the Barclays Premier League, went 1-0 up in the 22nd minute when Steven Fletcher headed in a cross from skipper Karl Henry.
Cottagers boss Mark Hughes was sent to the stands in the second half after reacting angrily to a booking for Brede Hangeland but his team equalised with 10 minutes to go through Johnson, who had come on just seconds earlier.
The result meant Wolves moved off the foot of the table to 19th but they will be cursing their inability to hold out for all three points.
Source: PA
Source: PA