Celtic went five points clear at the Scottish Premier League summit with a hard-earned victory to sink 10-man St Johnstone in farcical conditions at rain-soaked McDiarmid Park.
Joos Valgaeren put Martin O'Neill's men on their way to claiming full points with a first-half header and Henrik Larsson bagged a late second with a penalty as they increased their lead over Hibernian and moved an impressive nine points ahead of defending champions Rangers.
The weather made conditions hazardous as the rain lashed down in Perth with both teams struggling to move the ball across the field which threatened to see referee John Rowbotham abandon the game midway through the second half.
Rowbotham may be wishing he could have called it off earlier in the day after upsetting both sets of supporters with some amazing decisions as he booked nine men as well as sending off Stuart Malcolm.
Celtic started as brightly as expected after the weekend's victory over St Mirren. They continued to press and in the 28th minute Darren Dods made a desperate tackle on the edge of the box to prevent Swedish striker Larsson from getting a shot on target.
St Johnstone had Momo Sylla and Alan Weir booked as the driving rain made conditions difficult.
The visitors took the lead in the 42nd minute when Alan Thompson curled in a left-foot cross for Valgaeren to rise in the box to head emphatically home.
St Johnstone's task became even greater late in the game when Malcolm was redcarded for elbowing Johan Mjallby at the back post and Alan Kernaghan was booked for remonstrating with the referee.
Nothing came of that chance but in the 86th minute Celtic were awarded a penalty when Kernaghan brought down Bobby Petta inside the box and Larsson stepped up to send Main the wrong way for his 15th goal of the season.
ST JOHNSTONE: Main, Dods, Bollan, Weir, Kernaghan, Dasovic, Kane, Sylla (Malcolm 40), Parker, Evers, Connolly (Hartley 74). Subs Not Used: Cuthbert, Lovenkrands, McBride. Sent Off: Malcolm (83). Booked: Sylla, Weir, Parker, Bollan, Kernaghan, Main, Hartley.
CELTIC: Gould, Boyd, Valgaeren, Mjallby, Thompson, Lambert, Petta, Agathe, Petrov (Healy 72), Sutton, Larsson. Subs Not Used: Kerr, Berkovic, Moravcik, Riseth. Booked: Petrov, Larsson. Goals: Valgaeren 42, Larsson 86 pen.
Referee: J Rowbotham (Scotland).