Hearts advanced to a William Hill Scottish Cup semi-final against holders Celtic with a 2-0 quarter-final replay victory at St Mirren.
Saints' Graham Carey had a 13th-minute penalty well saved by Jamie MacDonald before Jamie Hamill, who earlier hit the post, fired Hearts in front after 31 minutes.
Rudi Skacel made certain of victory after 86 minutes, converting Andrew Driver's cross, as Hearts progressed to the last four, where they will meet Clydesdale Bank Premier League leaders Celtic on April 15.
After Skacel shot wide in the opening minute, the Buddies went on the attack, with Carey's left foot a potent weapon. MacDonald palmed away one Carey cross with Nigel Hasselbaink and Steven Thompson poised to pounce before the goalkeeper saved after Jim Goodwin failed to strike the ball cleanly after another cross from the left-back.
Saints were awarded a penalty by referee Stevie O'Reilly after 12 minutes, although they were unfortunate not to go ahead. Marius Zaliukas was adjudged to have handled while challenging Thompson in the air and Hasselbaink found the net with the rebound, but the whistle had already gone. Carey's resulting spot-kick was well struck but MacDonald made the save.
Craig Samson was beaten in the 23rd minute, but Hamill's shot from 25 yards hit the upright as Saints survived.
Saints were pressing Hearts across the field, but were punished for a lapse in concentration as Marc McAusland only half cleared a cross from Danny Grainger and Hamill's shot from the edge of the area went into the bottom corner.
The visitors had the majority of possession in the opening stages of the second half, without threatening Samson's goal.
Skacel fired a warning shot from the edge of the box, forcing Samson to concede a corner, from which Zaliukas headed wide.
With four minutes remaining, good work by Driver down the left found Skacel, who tucked the ball beyond Samson to seal victory and a place in the semi-finals.