Rangers 0-1 Celtic: Player ratings from Billy Dodds and Pat Bonner
Moussa Dembele's late goal was enough for Celtic to beat Rangers 1-0 in the Old Firm Betfred League Cup semi-final at Hampden.
Brendan Rodgers' side will face Aberdeen in the final on 27 November.
Former Rangers striker Billy Dodds and ex-Celtic goalkeeper Pat Bonner were at Hampden and gave their verdict on the teams.
Ratings by Billy Dodds
Matt Gilks 8
Almost a one-man show at times, and he made some unbelievable saves. One poor pass, but kept the scoreline down for Rangers.
Lee Hodson 7
Really kept working hard, and mostly kept Scott Sinclair quiet in open play. Was a good tactical change by Rangers manager Mark Warburton to stop Celtic's pace hurting Rangers.
Rob Kiernan 6
Been having a hard time lately, but didn't take any chances with his passing, cleared his lines, and won his fair share of headers. Was positionally sound.
Clint Hill 7
Made a couple of great interceptions, and showed his experience by being smart positionally, and blocked a number of shots at close range. Also won plenty in the air.
Lee Wallace 6
Didn't get forward as effectively as he so often does, and will be annoyed with himself for Celtic's goal because he allowed himself to get too close to Leigh Griffiths and was then beaten by the Celtic striker's skill.
Josh Windass 5
At times looked threatening as he ran with the ball, but struggled with his passing and wasn't as impressive as the last Old Firm game when he was arguably Rangers' best player.
Andy Halliday 6
Worked hard to try to keep Tom Rogic out of the game, sat in the deep defensive role to break play up and the amount of work he put in showed as he pulled up with cramp late on.
Jason Holt 6
He's a good player, has great awareness, but didn't use that creativity enough. Came closest to scoring, though, with a shot that hit Jozo Simunovic.
James Tavernier 6
Played further forward than his usual full-back position. Tried to offer a threat, helped Hodson defensively and put in a hard-working shift. Didn't have an impact in the final third.
Kenny Miller 6
It's hard up front against Celtic when they're pressing and you're facing two big centre-backs, but he worked hard defensively and tried to threaten at times. No cutting edge, though.
Barrie McKay 5
Was a bit unlucky to be booked for a dive, although Simunovic got the ball. Drew first meaningful save from Craig Gordon, in 58th minute, but like other forward-thinking Rangers players didn't deliver what was expected of him.
Martyn Waghorn 5
Replaced Miller in the 70th minute and tried to influence the game from the right-hand side, but was thwarted.
Joe Garner 5
Came on for Windass in the 70th minute and fed off scraps up front. Always pressures defenders, and almost reached Wallace's cross late on.
Joe Dodoo 4
Substitute for McKay in the 78th minute and although quick, never ran at Mikael Lustig, and pulled out of a challenge late on.
Ratings by Pat Bonner
Craig Gordon 7
Very little to do. You can see that he's been working on his distribution and was quite composed on the ball. Didn't do anything wrong.
Mikael Lustig 7
Rangers were able to get in behind him on a couple of occasions, but otherwise a solid enough performance defensively on a day when he wasn't pressurised too much.
Jozo Simunovic 8
Made a couple of very good blocks, particularly Holt's effort late on because he took up a good position, read the game well, stepped out to pass the ball and was strong in the air. One of his better performances for Celtic.
Erik Sviatchenko 6
There's more to him than this performance. Gave the ball away a few times, but was unlucky with his header being disallowed. Too often came on to his right foot when he could have opened play out.
Kieran Tierney 7
Defensively good, and you know what you're getting from him. Good competition with Tavernier and Hodson, and he never let up defensively or going forward.
Scott Brown 8
Defensively he controlled midfield, with his power and strength. Even late on in the game he was still going, and broke forward to win a free-kick. Commanding in the centre of the pitch.
Nir Bitton 6
Needs to up his tempo a little bit more. Went off injured and did okay but there's more to come from him as a player.
James Forrest 6
On the ball, his final pass didn't match his approach play. He just needs to up it a wee bit also, to return to the best of his form. Kept showing for possession, though, just lacked a little composure.
Tom Rogic 7
He was always a threat, and did some great things on the ball. Can look jaded at times, but can also turn away from opponents in crowded areas. Effective.
Scott Sinclair 7
Had two brilliant chances in either half, and hit the bar with a free-kick, so did everything but score. Contributed, and got into really good positions to score.
Moussa Dembele 7
Made the wrong decision a couple of times in the first half, but the goal was a sublime finish. Improved when Griffiths came on alongside him, and is always a threat to the opposition.
Stuart Armstrong 7
Replaced Bitton in the 63rd minute and made a big impact in the middle of the pitch, with his energy, his passing range, burst forward on a number of occasions and might have scored himself.
Leigh Griffiths 7
Came on for Rogic in the 70th minute and laid on the goal. Had a chance to score himself, when he tried to chip the goalkeeper. When you come on, you have to make an impact, and he did. The substitutions won the game for Celtic.