Striker Leigh Griffiths got the defending champions off to a flying start as he caught the home defence cold to convert Nir Bitton's throughball inside the first minute.
Stefan Johansen finished coolly to double Celtic's advantage seven minutes into the second half, but Michael O'Halloran reduced the arrears and only a brilliant Craig Gordon save from Dave MacKay prevented St Johnstone from snatching a point.
The win is Celtic's eighth consecutive victory in all competitions since the turn of the year and turns up the pressure on nearest challengers Aberdeen, who travel to Hamilton on Sunday.
Inverness Caledonian Thistle triumphed by the same scoreline at struggling St Mirren to go level on points with Aberdeen.
Graeme Shinnie set up Greg Tansey to open the scoring in the third minute and Ryan Christie picked out the bottom corner to make it 2-0 with an hour played.
Jim Goodwin headed in to give St Mirren hope but Gary Teale's team are three points off the foot of the table after bottom two Ross County and Motherwell shared a 3-2 thriller, with the hosts coming out on top at Dingwall.
A superb Martin Woods volley gave County a half-time lead but Conor Grant converted a free-kick to bring 11th-placed Motherwell level.
Emphatic finishes from Paul Quinn and Raffaele De Vita set Ross County on course for a second home win of the season - a result they would close out despite Fraser Kerr's 78th-minute header.
Sam Clingan netted in stoppage-time to give Kilmarnock a 3-2 win and end Dundee United's unbeaten start to 2015, while the latter team's near neighbours Dundee overcame Partick Thistle 1-0 thanks to Paul McGowan's own last-gasp winner.
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.