A dominant Leeds scored the only goal of the game in the 55th minute when an inch perfect cross from Harrison was converted by Roofe for his 15th goal of the campiagn.
Leeds now take the advantage into Wednesday night's second leg at Elland Road with either Aston Villa or West Brom awaiting in the final.
Leeds were without the services of talisman centre-back Pontus Jansson who missed out with an ankle injury with Gaetano Berardi starting in his place.
After a quiet start featuring just a Tom Lawrence effort that went well wide, Berardi came to the rescue in the eighth minute when producing a crucial sliding block to send an effort from David Nugent behind for a corner following a fine pass from Harry Wilson.
Leeds hit back with Mateusz Klich firing well wide before Stuart Dallas curled a powerful effort just over the bar.
Roofe then sent a very difficult overhead kick wide before a Whites corner flew across the box and narrowly evaded Luke Ayling at the far post.
Leeds then lost Adam Forshaw to injury in the 23rd minute with Jamie Shackleton brought on in his place but the Whites were pinning Derby back and that pattern continued with Ayling beating two men and getting into the box but unable to find Roofe.
That summed up United's first half, dominant but unable to make a breakthrough with the half ending with Dallas volleying wide when offside.
Replays also showed that Derby's Fikayo Tomori was very fortunate to escape a red card for a high, two-footed challenge on Shackleton midway through the half.
Leeds created another chance just two minutes after the restart but Harrison's volley from a Klich cross deflected off Wilson to go wide.
But Leeds finally made the breakthrough which their play deserved when Harrison raced away down the left before producing a perfect cross for Roofe who slotted the ball home into the corner of the net in the 55th minute.
Roofe almost doubled his and Leeds' tally just one minute later with 'keeper Kelle Roos keeping out his effort at full stretch.
Just after the hour mark, Shackleton then raced away down the right flank with his cross narrowly evading Hernandez.
In similar fashion, Derby's Jayden Bogle was then inches away from converting a low cross from Scott Malone.
And Derby were then left fuming with 15 minutes left when referee Craig Pawson pointed to the spot for a Rams penalty after a tangle between Harrison and Bogle, only to change his mind after consultation with the linesman.
Leeds almost added a second goal five minutes later with Shackleton only denied by a fine save from Roos.
With just four minutes left, a brilliant pass from Hernandez then sent away Ayling whose cross flashed across the box.
United's Mateusz Klich then looked fortunate to get away with a yellow card after leaning his head into Tomori but Leeds easily saw out five minutes of added time to take the advantage heading into Wednesday's second leg at Elland Road.
Derby County: Roos, Bogle, Keogh, Tomori, Malone, Johnson, Holmes (Bennett 70), Mount, Wilson, Lawrence (Huddlestone 86), Nugent (Marriott 64). Subs not used: Carson, Macdonald, Evans, Jozefzoon.
Leeds United: Casilla, Dallas, Cooper, Berardi, Ayling, Phillips, Klich, Forshaw (Shackleton 23), Harrison, Hernandez, Roofe (Clarke 81). Subs not used: Peacock-Farrell, Brown, Struijk, Gotts, Bogusz.
Referee: Craig Pawson.