Leeds United midfielder Pablo Hernandez missed the trip to Molineux with a dead leg, forcing Garry Monk to shuffle the pack, with Ronaldo Vieria taking his place.
Roofe won Leeds a free-kick inside ten minutes, Kalvin Phillips whipped in a cross at the set-piece and Kyle Bartley appeared to be pushed to the ground, but the referee waved away the protests.
Nouha Dicko went close for Wolves, he pounced on a loose header back to Leeds goalkeeper Rob Green, he was unable to take advantage of the situation though, with his effort going over the crossbar.
Joao Teixeira who was a threat for Wolves throughout the first half then picked Dicko out superbly in the penalty area, but Pontus Jansson made a great block to deny the Wanderers striker a shot on goal.
The home side continued to press and Helder Costa’s effort from 25 yards nearly dipped under Green’s crossbar.
Seven minutes from the break United had a glorious chance to take the lead, Bartley played through Hadi Sacko on goal, he couldn’t convert the chance though as his effort cannoned off the crossbar and over the bar.
At the other end there was a scramble in the Leeds penalty area, Texeira pounced producing the best from Green to deny him.
Leeds then had another great opportunity to go in front, Charlie Taylor whipped in a fine cross which found Roofe, but he couldn’t guide his header on target.
In first half injury time Texeira picked out Costa with a low cross, but once again Jansson kept the scores level at the break with a tremendous challenge.
Half Time: Wolves 0-0 Leeds United
Just before the hour mark Leeds were denied another penalty.
Eunan O’Kane charged up the field and fed Chris Wood, who went down in the Wolves box, but once more Leeds were denied a penalty.
Costa was next to go close for the home side, he was allowed the time to shoot from 25 yards and almost found the top corner.
Wood then nearly broke the deadlock, Sacko broke up field before feeding the striker, but he was denied by Carl Ikeme.
Leeds took the lead in the 73rd minute, Sacko showed great desire and strength to get the better of Matt Doherty and Wolves defender Silvio got the final touch to his cross under great pressure from Roofe, to the jubilation of the travelling Leeds support.
Wood had a great chance to seal the points for Leeds with three minutes remaining, Roofe teed him up beautifully, but he could only fire over from close range.
Costa had a great chance to equalise in first minute of added time. Substitute Ola John found him at the back post unmarked, but the Wolves midfielder was unable to finish, putting the ball over the crossbar.
Leeds held on, surviving four minutes of added time to secure the victory.
Wolves: Ikeme, Doherty, Pereira, Edwards, Batth, Dicko, Costa, Bodvarsson, Teixeira, Saiss, Hause. Subs not used: Lonergan, Stearman, John, Coady, Oniangue, Gladon, Cavaleiro.
United: Green, Ayling, Bartley, Jansson, Taylor, Vieira, O’Kane, Phillips, Sacko, Roofe, Wood. Subs not used: Silvestri, Cooper, Antonsson, Doukara, Grimes, Coyle, Mowatt.
Referee: Stuart Attwell
Attendance: 23,607 (2,452 Leeds)