Celtic set up a Scottish Cup Final meeting with Dundee United after Chris Sutton and Craig Bellamy secured victory over Hearts.
Both goals were given up cheaply by Hearts but substitute Deividas Cesnauskis kept the Edinburgh side in touch by pulling a goal back to give them hope in the final half-hour.
Sutton opened the scoring in the third minute when he was not picked up at a short corner and headed in Alan Thompson's cross.
It left Hearts with an uphill task and, in an uneventful first half, Celtic goalkeeper David Marshall did not have a single shot to save.
Sutton dragged a shot wide early on but Celtic did not threaten too much themselves in a tepid opening 45 minutes.
Joe Hamill saw a shot blocked by Joos Valgaeren on the one occasion Hearts did look lively but there was not too much to trouble either defence.
John Hartson missed his kick at the edge of the area after a cutback from Bellamy and the Welsh striker had another chance on the stroke of half-time.
Stilian Petrov drew four Hearts defenders before picking out Neil Lennon, whose shot across the face of the goal eluded Hartson's boot by inches.
But Bellamy made it 2-0 four minutes into the second half when Paul Hartley failed to deal with a ball in his own area and the Celtic striker lashed the ball in at Craig Gordon's near post.
Gordon prevented a third moments later when he palmed the ball onto his crossbar to prevent Hartson getting on the end of a cross.
Thompson then raced past two defenders to set himself up with a clear view of goal but he shot against Gordon.
But substitute Cesnauskis pulled a goal back for Hearts after an hour when he flicked the ball over Marshall from an unlikely angle from a Jamie McAllister pass.
Celtic never seriously looked like surrendering and held on for victory.