Nervy Celtic survived a St Johnstone comeback at McDiarmid Park to book themselves a place in the semi-finals of the Co-operative Insurance Cup with a 4-3 win.
An Anthony Stokes double and a Niall McGinn strike had the visitors three goals up after only 13 minutes and seemingly cruising but Sam Parkin reduced the deficit before the break.
Saints midfielder Murray Davidson headed in the second in the 54th minute to promise a remarkable fightback and, seconds from the end, the Hoops had keeper Fraser Forster to thank for avoiding extra-time when he pulled off a great save from substitute Jennison Myrie-Williams, who had replaced Steven Anderson at the interval.
However, while Parkin missed a decent chance to level earlier Celtic also passed up opportunities to draw further ahead.
Andrew Little grabbed his first goal of the season as Rangers moved a step closer to retaining the cup with a 2-0 win over Kilmarnock.
The Northern Irishman - making his second start this term - handed the holders a first half lead after Kilmarnock had an early effort ruled offside.
Steven Naismith then continued his fine form this season when he netted in the second half to put the quarter-final tie beyond the Ayrshire side.