Celtic overpowered St Johnstone with two second-half goals enough to earn a win that keeps the pressure on Scottish Premier League leaders Rangers.
A superb save from Saints goalkeeper Peter Enckelman denied Gary Hooper from the best chance of the first half.
But Hooper was not to be denied again and he prodded home from close range following a 60th-minute corner.
Ki Sung-Yeung fired in after a quick break four minutes later to reduce the gap with Rangers to four points.
Celtic manager Neil Lennon's victory in his head-to-head with former Northern Ireland team-mate Steve Lomas meant his side secured a seventh straight league win and condemned Saints to a third consecutive home defeat.
Lennon unsurprisingly stuck with the same starting line-up that gave Serie A high-flyers Udinese a fright in the Europa League in midweek.
Hooper (left) opened the scoring for Celtic in Perth
With Anthony Stokes out injured, Hooper and Georgios Samaras continued their partnership up front and both were quickly involved.
A Hooper header looped wide, while Enckelman had to beat away a powerful long-range effort from the in-form Greece international.
Saints were denied the services of former Scotland left-back Callum Davidson through illness and the continued absence of injured strike duo Francisco Sandaza and Cillian Sheridan meant Marcus Haber was left on his own up front.
Lomas played safe by dropping Sam Parkin to the bench and packing his midfield with the introduction of David Robertson and Kevin Moon.
Robertson was left dazed following a hefty challenge by Daniel Majstorovic after 30 minutes.
However, it was the Celtic defender who came off worse and immediately went off injured sporting what looked like a rapidly developing black eye after heading the back of the midfielder's skull.
Before the Swede could be replaced with Thomas Rogne, Enckelman had denied Hooper with a superb, instinctive one-handed save following the striker's shot from point-blank range.
Robertson only lasted another eight minutes and was replaced by Carl Finnigan, the former Falkirk forward giving the Perth side some additional threat up front.
Haber's pace threatened early on, but he had become an increasingly isolated figure as Celtic dominated possession.
However, a curling Mulgrew free-kick and a Victor Wanyama back-header that flew into the arms of Enckelman were the only other efforts on target as the first half ended goalless.
Saints had failed to create a single chance during the first 45 minutes but forced two quick corners after the break and Dave Mackay, who scored their winner against Celtic in Glasgow, forced goalkeeper Fraser Forster into a good near-post save with a low drive from just outside the box.
Celtic winger James Forrest, virtually anonymous in the first half, also burst into life but should have done better than volley over from eight yards.
Saints had come out with more attacking intent, but that only presented Celtic with more space to exploit and Enckelman did well to beat away a Hooper shot on the turn from a Scott Brown cross.
The pressure eventually told and Hooper stabbed the ball over the line from four yards after a goalmouth scramble resulting from an inswinging corner.
Saints were presented with an immediate chance to equalise, but when Liam Craig's free-kick on the edge of the box was charged down, Celtic broke clear to score again.
Forrest played a one-two with Samaras before firing a low ball across the face of goal for Ki to fire home from 12 yards off the despairing Enckelman.
Samaras mis-hit in front of goal, but Saints also went close to pulling a goal back when Haber pounced on a Wanyama mistake and forced Forster into a near-post save.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.