The visitors started brightly, dominating possession in the early stages. However, the Clarets grew into the game as the first half went on and nearly went in front when Rui Patricio made a smart stop with his feet to deny Barnes.
Burnley took the lead 10 minutes before the break when Barnes headed home from Charlie Taylor's inviting cross - the forward's first goal in over a year.
At the other end, Portugal international Ruben Neves went close with a speculative effort from the edge of the area.
Early in the second half, Josh Brownhill was denied by the bar after winning the ball back in a dangerous position.
Burnley doubled their lead moments later when Wood fired home from close range after Wolves failed to deal with Ashley Westwood's free-kick.
Pedro Neto then headed over after some good work by Adama Traore, before Nick Pope made a decent stop to keep out Neves' dipping volley.
Wood nearly had a second after meeting Westwood's pinpoint pass, but Patricio made another smart stop.
The visitors were awarded a penalty inside the final five minutes after Josh Benson tripped substitute Fabio Silva in the box. The young forward made no mistake from the spot.
But Sean Dyche's men survived a nervy final few minutes to record their third league win of the season.
Big moment for Barnes
It's been a difficult year for Barnes, who spent several months on the sidelines following hernia surgery. But the forward was back to his best, acting as an effective target man and providing a clinical finish to open the scoring.