PSG won by the same scoreline when the teams met at Stade Geoffroy-Guichard in the Coupe de la Ligue earlier this month and the Sweden international was on hand to net the winner again, as he had done in that encounter.
Ibrahimovic had to rely on a penalty to register his ninth league goal of the season, though, as PSG struggled to turn possession into goalscoring opportunities.
The first half passed almost entirely without incident, but there was an open nature to the beginning of the second half that hinted that the three points were there for the taking.
However, it took a handball on the line from Jeremy Clement to provide PSG with a chance to break the deadlock, and Ibrahimovic made no mistake from 12 yards.
Edinson Cavani sent a delightful chip onto the crossbar 15 minutes from time, but PSG will be delighted to have pulled four points clear of their fourth-placed opponents, while they remain the same distance behind leaders Lyon, who beat Metz 2-0 earlier in the day.
Fabien Lemoine was included for Saint-Etienne despite concerns over his fitness, and the midfielder required treatment with less than a minute on the clock when he landed awkwardly after an an aerial challenge with Blaise Matuidi.
Laurent Blanc brought Cavani and Marquinhos into his starting XI as the only two changes from PSG's last league outing, while Gregory van der Wiel – scorer of an own goal in the 4-2 win over Evian last weekend – was absent from the matchday squad, although a foot injury is said to be behind his omission.
Chances were few and far between in the opening stages, with Yohan Mollo blazing high and wide from 20 yards after 13 minutes.
PSG dominated possession but did not test Stephane Ruffier until the 24th minute, when Matuidi forced the goalkeeper into a diving save with a close-range header, although the flag had already been raised for offside.
The game opened up somewhat at the beginning of the second half, with Edinson Cavani sending a low shot straight at Ruffier before straying into an offside position as he looked to latch on to a Matuidi throughball.
Ibrahimovic broke the defensive line in the 58th minute only to see a soft effort saved by Ruffier, but had the chance to break the deadlock from the spot on the hour mark after Clement was deemed to have used an arm to block a shot on the line.
The striker made no mistake in dispatching to the bottom left-hand corner, but his spot-kick was delayed momentarily after an object appeared to be thrown onto the pitch, evoking memories of the cup clash between the sides at this ground, when play had to be suspended in similar circumstances.
Ibrahimovic should have doubled his tally soon after, but saw an effort blocked by Paul Baysse before Marco Verratti headed wide from the rebound.
PSG missed another chance to make sure of the win 15 minutes from time when Cavani's delicate chip caught the underside of the crossbar and bounced to safety, and Ibrahimovic was lucky to avoid a red card for a studs-up challenge on Romain Hamouma in stoppage time.
However, the visitors held on for an important win in their quest to retain the Ligue 1 title.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.