After an uninspiring 0-0 stalemate in their previous meeting, this was night and day. It was edge of the seat throughout.
Celtic flexed first, pressing Rangers back, and looked to have taken the lead when Nasser Djiga smashed the ball off Nico Raskin and watched in horror as it sailed into his own net. The tightest of offside calls against Daizen Maeda on review was a huge let-off.
Rangers responded and ought to have scored through Youssef Chermiti and it proved costly as Kenny rose to meet a corner and his glancing header found the corner.
Rohl’s side, again, had opportunities despite being second best at that stage, but their task grew wider when Aasgaard left stud marks down Ralston’s thigh after a high challenge and departed proceedings.
Celtic failed to take advantage, though, and were perhaps fortunate when Auston Trusty inexplicably caught Jack Butland’s head as the goalkeeper dived to gather a loose ball. The defender escaped with a booking, to Rangers’ fury.
Rohl made changes and his side rallied. Substitute Djeidi Gassama was brilliantly denied by Liam Scales but the winger would make a decisive impact when his shot struck the falling Ralston’s arm. It was another controversial call, but Tavernier expertly dispatched the resultant penalty.
Chances, good ones, fell to both sides as it swung from end to end. Rangers often looked the more likely but Celtic substitute James Forrest came so close with a strike off the underside of the bar.
It took McGregor’s thundering strike early in extra time to set Celtic on their way, with Osmand’s fine close-range finish, his first for the club, ultimately decisive.
