Daly scored in the 74th minute, beating Stenhousemuir keeper Chris Smith to Bilel Mohsni’s long ball into the box and powering his header into the net.
It was no more than Rangers deserved – they dominated possession throughout at Ochilview, but Stenhousemuir proved dogged in defence, unlike in their League meeting at Ibrox earlier this season when they were hammered 8-0.
Rangers had an early chance when Smith fumbled an Ian Black free-kick but his defenders jumped to his rescue to clear the danger.
Then the visitors had a massive penalty appeal waved away. Daly had his legs taken away in the box by Eddie Malone, but ref Bobby Madden was having none of it.
Mohsni then nodded just wide from a corner, and Rangers then hit the bar twice in three minutes.
Arnold Peralta’s thunderbolt from fully 40 yards hit the junction of post and bar, and two minutes later Nicky Law smashed against the bar from 25 yards before half-time.
Stenny had their best spell of the match after the break. Sean Lynch fired a shot horribly high and wide when well placed and Brown Ferguson forced Rangers keeper Cammy Bell to make a save from a decent shot from the edge of the box.
The hosts’ best chance of the night came was squandered by Darren Smith. Bell came racing out to intercept Ferguson’s cross, got nowhere near it, but the midfielder scuffed his shot wide.
Smith was at fault for the goal when it came. He came rushing out to challenge for Mohsni’s hopeful punt into the box, but Daly beat him to the ball by the penalty spot and nodded into an empty net.
Law almost made it 2-0 when he curled his shot beyond Smith but defender Kevin McKinlay made a fine clearance off the line.
Ally McCoist’s men will now play Raith in the final on April 6, with the venue still to be confirmed.
Ibrox, Celtic Park and Easter Road having all been mooted as possible alternatives to Hampden, which is unavailable due to Commonwealth Games preparations.