A controversial strike from captain Barry Ferguson set Rangers on the road to the CIS Cup Final as they beat Hearts to book another trip to Hampden Park in March.
Ferguson scored at the start of the second half amid claims for handball to put Rangers in front before Jean-Claude Darcheville sealed the victory with another goal in the 69th minute.
Hearts showed promising signs early on as Christian Nade made a number of good runs down the left wing, outpacing the Rangers defence. But they could not build on early chances and Walter Smith's side took a grip on the game.
Charlie Adam, playing at Hampden for the first time, provided a series of pinpoint crosses into the box. Lee McCulloch failed to reach the first but, as the Rangers pressure continued, Hearts struggled with both the weather and nerves.
Midway through the half Steve Banks pulled off a great save from Adam but again the defence could not clear the ball and Darcheville nearly made them pay as he sent his follow-up effort narrowly wide.
Nade continued to make his presence felt at the other end and the travelling Hearts faithful were left furious as his penalty claim was turned down by referee Mike McCurry when he appeared to be brought down in the area by Carlos Cuellar.
The Edinburgh side gradually clawed their way back into the match and Saulius Mikoliunas sent a long-range effort just wide before Eggert Jonsson saw his shot from the edge of the area gathered by Allan McGregor.
Both sides had chances to take a decisive lead in the closing minutes of the half but could not break through. Andrius Velicka's looping header crashed off the crossbar while Banks was left breathing a sigh of relief when Adam's effort landed on the top of the net as he struggled to reach it.
Hearts' cup dreams were shattered less than five minutes into the second half in a controversial 60-second period.
Robbie Neilson gave away a free-kick 30 yards out. Adam launched the ball into the box and it appeared to come off the arm of Jose Goncalves as he went to clear it.
Referee McCurry turned down Rangers' penalty claims but they immediately launched the ball back into the box where Ferguson clearly appeared to touch the ball with his hand before turning to fire into the net.
Having conceded a goal, Hearts never really looked like getting back into the game.
Two long-range efforts from Velicka were the closest they came, and when Darcheville slid Chris Burke's cross in from close range on 69 minutes, the tie was over.