The Hoops had plenty of chances to win the Glasgow derby comfortably but a goal on the hour from Virgil van Dijk was all that separated the sides in the end.
The first real opportunity for Celtic did not arrive until the ninth minute when midfielder Stefan Johansen’s cross found John Guidetti, but his header was tipped over the bar by Thistle goalkeeper Paul Gallacher with the corner defended with some ease.
The 35-year-old then made saves from Aleksandar Tonev and Van Dijk as the home side slowly increased the pressure but again the visitors’ defence was untroubled by the consequent corners.
Thistle’s attacks were sporadic but in the 22nd minute defender Stephen O’Donnell worked his way into the Celtic box before firing in an angled drive from 16 yards which Celtic ‘keeper Craig Gordon smothered.
The home side were in control but their indecision in front of goal was summed up when Guidetti missed the target from eight yards after being set up again by Johansen.
The visitors struggled to create chances, but on the half-hour mark a free-kick by Stuart Bannigan was headed onto the bar and over by fellow midfielder Abdul Osman.
Moments later, at the other end, Gallacher was forced into another good save, this time from Johansen, after the Norwegian had latched on to a long, searching pass from Van Dijk before firing in a right-footed drive from 10 yards.
With five minutes of the first half remaining, Gallacher raced from his line to block Guidetti and when Parkhead skipper Scott Brown squared the loose ball to Anthony Stokes he fired wide from 16 yards to more groans from exasperated Hoops fans.
Israeli midfielder Nir Bitton replaced Charlie Mulgrew for the start of the second half and with four minutes played he raced on to another defence-splitting pass by Van Dijk only to slam his shot into the side netting with only Gallacher to beat.
However, the home side eventually got their reward in the 60th minute after Brown won a free-kick on the right-hand side about 35 yards from goal.
When Johansen’s delivery came into the box Van Dijk tussled with Aaron Muirhead and when the ball dropped the Dutchman quickly swept it in from four yards out.
Thistle quickly replaced Ryan Stevenson with Kris Doolan, with Steven Lawless on for Karl Higginbotham soon afterwards.
Guidetti and Tonev made way for Stefan Scepovic and Kris Commons respectively for Celtic in the 72nd minute, with Gallacher blocking the latter’s shot minutes later.
With four minutes remaining and the game petering out, Gordon made a great save from Doolan’s scissor-kick to keep the home side deservedly ahead all the way to the final whistle to notch their eighth successive domestic victory.