Odsonne Edouard continued his red-hot run as his quick-fire double saw Celtic fight back for a 2-1 win over St Johnstone at McDiarmid Park.
The Frenchman has faced question marks over his commitment to the Parkhead cause this season but he has fired back at his critics with eight goals in his last six games.
His Perth brace was especially crucial for Neil Lennon’s team after they found themselves behind to Callum Davidson’s men.
Shaun Rooney’s opener just after half-time was Saints’ first home goal against the Hoops in four years.
In the time since that strike they had conceded 24 goals to the Glasgow giants and they were unable to resist Lennon’s team for long.
Edouard’s contribution means Celtic have now strung together four straight wins for the first time since October. Rangers’ lead at the top is trimmed back to 18 points while Saints stay eighth.
Celtic had built their recent mini revival on a foundation of early breakthroughs – but they were left frustrated despite bossing the opening 45 minutes this time.
A better finish from Kristoffer Ajer seven minutes in might have changed that as the Norwegian fired over the top after after Craig Bryson and Jason Kerr got themselves in a muddle in the box.
Chris Kane, Craig Conway and David Wotherspoon all had moments when they were able to pick up the ball in the space behind midfield guardsmen Scott Brown and Callum McGregor but seldom did they did advance to trouble the back four.
A wild Wotherspoon shot over the bar was the best they could muster but, for most of the opening phases, Saints held their own in the midfield scrap.
Shane Duffy – back in for the injured Stephen Welsh – headed over as Zander Clark got nowhere near David Turnbull’s threatening wide free-kick delivery while Edouard tried to burrow his way into the box a couple of times only to find himself snarled up in a log-jam formed by Saints’ pesky back three.
Yet the hosts were just relieved to hear the half-time whistle as Celtic stepped things up in the final quarter hour before the break.
Jamie McCart failed to cut out Tom Rogic’s ball through to Edouard. The striker fired the ball back to Rogic, who did well to make up the ground and fire past Clark – only for Callum Booth to rescue the hosts with a goal-line clearance.
Christie, Rogic and Turnbull were next to cut Saints open. Edouard made a great run which opened up the space for Turnbull to drive on but the former Motherwell playmaker wasted a promising moment by firing over again.
It was a different story as the teams re-emerged for the second period as Davidson’s men launched themselves forward.
Conway made a mess of a great chance as Duffy missed Rooney’s low cross, fluffing a tame shot straight at Scott Bain.
But there was nothing wrong with Rooney’s connection as he thudded home on 50 minutes.
Conway set the ball back for Booth on the left-hand side, with his first-time cross hung above McGregor and Greg Taylor for the flame-haired Saints full-back to attack.
Saints wanted a penalty soon after as Duffy leveraged himself up Rooney’s shoulders before heading away a McCart set-piece.
But as referee Steven McLean waved away the appeals, Saints let their focus slip with it.
And Edouard was quick to exploit. First he did brilliantly to dart across the front post and poke home from Christie’s cross for the equaliser on the hour mark.
Then the striker completed the turnaround with a brilliantly executed second just three minutes later.
Christie’s clever dummy allowed Turnbull’s pass to run in behind the St Johnstone defence for Taylor and Edouard needed only a couple of touches to take the ball away from Clark before depositing it in the net.
Saints refused to give in but there was no way back after Duffy denied Kane with a vital last-gasp tackle.