Callum McGregorImage source, SNS
Image caption,

Celtic captain Callum McGregor's strike early in extra time set his side on the route to victory

Captain Callum McGregor and teenage substitute Callum Osmand scored in extra time to take holders Celtic into the League Cup final at 10-man Rangers' expense in a pulsating match at Hampden.

James Tavernier's late penalty in normal time levelled Johnny Kenny's first-half header, with the Ibrox side hindered by Thelo Aasgaard's straight red card for a foul on Anthony Ralston shortly before the interval.

In Martin O'Neill's 28th Old Firm game - but his first since 2005 - he emerged victorious after Brendan Rodgers' shock resignation earlier this week and set up a final on 14 December against St Mirren.

Victory pierced Rangers' recent mini-revival under new head coach Danny Rohl, who was seeking a third straight victory for the Ibrox side for the first time this season. Despite their impressive resilience and second-half ambition, they fell marginally short.

The idea that O'Neill and Rohl would be in the respective dugouts would have been unimaginable a short time ago and only added to the anticipation.

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.

Martin O'Neill

Analysis: O'Neill's Celtic edge thriller

The last meeting between these two was an absolute bore. Not this one, though. It was pulsating, reflecting just how big this was for both clubs given the turmoil of this season so far.

Celtic's old and young guard ultimately made the difference to finally shake off Rangers' persistence.

All of a sudden, Celtic seem to have options in the central striking role, with Kenny now netting three goals in two matches and Osmand seizing on his chance under O'Neill.

The holders pinned Rangers back, getting the ball out wide very early repeatedly. Their intensity was high and they deserved to be ahead. They didn't kill off their opponents, though, and it came back to haunt them.

You've got to hand it to both O'Neill and Rohl. Both had influence on their respective performances.

Rangers have made small steps forward in their recent games but, again, on a big occasion their players came up short. Their rousing revival in the face of such adversity was unquestionably impressive, though.

They had chances, excellent ones. And they might well question how Trusty and Ralston escaped red cards that might have tipped this in their favour.

'Is this what we're going to get from Celtic every week now?'

Scottish Football Podcast

02/11/25

What they said

Media caption,

O'Neill on prospect of leading out Celtic for League Cup final

Interim Celtic manager Martin O'Neill: "It was an incredible game. We were terrific and were in command of the game.

"Rangers had a man sent off and, after that, there was a little bit of anxiety and we took our foot off the pedal. They really came into the game and with 10 v 11, dominated proceedings and you start to get anxious.

"I was saying to [assistant manager] Shaun Maloney we needed a goal to kill the game off and six or seven minutes later, Rangers get the penalty.

"Then Callum McGregor comes up with a phenomenal goal for us from a phenomenal player and Callum won us the game."

Rangers head coach Danny Rohl: "We showed a lot of spirit and resilience. We really thought we could beat them, even with 10 men. We were not sitting back and waiting, we were brave in the second half and I thought the equaliser was deserved.

"It was important to see the reaction after the red card and it was outstanding. It's not my job to speak about decisions on the pitch.

"I just focus on my team. We have to talk about what we can improve but there are many positives to take forward."

Media caption,

Reaction to red card was 'outstanding' - Rohl

What's next?

Both clubs reprise their Europa League campaigns with Celtic travelling to face Midtjylland in Denmark on Thursday (17:45 GMT).

Rangers host Roma later that day (20:00) as they seek their points in the competition.

Player of the match

Number: 24 J. Kenny
Average rating 7.77
Number: 24 J. Kenny
Average Rating: 7.77
Number: 42 C. McGregor
Average Rating: 7.40
Number: 19 C. Osmand
Average Rating: 7.29
Number: 6 A. Trusty
Average Rating: 7.20
Number: 56 A. Ralston
Average Rating: 7.10
Number: 49 J. Forrest
Average Rating: 7.00
Number: 63 K. Tierney
Average Rating: 7.00
Number: 27 A. Engels
Average Rating: 6.95
Number: 36 M. Saracchi
Average Rating: 6.94
Number: 5 L. Scales
Average Rating: 6.92
Number: 8 B. Nygren
Average Rating: 6.90
Number: 23 S. Tounekti
Average Rating: 6.89
Number: 38 D. Maeda
Average Rating: 6.78
Number: 1 K. Schmeichel
Average Rating: 6.60
Number: 41 R. Hatate
Average Rating: 6.32
Number: 10 M. Balikwisha
Average Rating: 5.84

After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.