Moussa Dembele scored the winner with three minutes remaining to send Celtic through to the League Cup final.
Celtic were on top in the first-half as Rangers set-up to neutralise their attack and resulted in them offering very little in attack.
Scott Sinclair had the best chance 15 minutes into the game after linking up well with Moussa Dembele, but the ‘keeper matched his shot with a good save.
Tom Rogic had a great chance in the fist-half after pressing high up the field and intercepting a poor touch from Gilks but couldn’t steady himself and connect with the ball cleanly.
Three minutes into the second-half Erik Sviatchenko headed the ball into the net but Craig Thomson gave a free-kick against the defender.
Dembele had a huge chance after and chested the through ball down but scuffed his volleyed attempt on goal.
Rangers had chances of their own but held on for much of the second half as Gilks put in a terrific performance between the posts.
Leigh Griffiths came off the bench and played a super ball to Dembele for his 14th goal of the season.
Here are the player ratings from today’s game.
Craig Gordon 6.5/10
Poor distribution and put Celtic under unnecessary pressure on two occasions. First real save of the game was from a tame shot from McKay.
Mikael Lustig 6.5/10
Made a good tackle to cut out a through ball to Wallace. Needed to get forward more to support Forrest to get him driving at the defence. Solid game.
Jozo Simunovic 7.5/10
Good timed tackle on McKay to win possession inside the box. Wasn’t caused too many problems otherwise in the first-half. Fantastic block to deny a near certain goal for Holt. Made another good tackle to intercept a dangerous counter attack.
Erik Sviatchenko 7/10
Looked nervy in the opening 10 minutes on the ball and clearing his lines. Improved as the game went on and did well to hold off Miller and shepherd the ball out of play. Had a goal clearly denied.
Kieran Tierney 6.5/10
Looked to get forward early on and cause problems for Rangers but was neutralised by Tavernier for large parts of the game. Defended well when he was called upon.
Scott Brown 7/10
Got stuck in early on in midfield and swept up the second balls to get Celtic on the attack. Made countless tackles to win back possession and did the work of two players in the centre of midfield. Dominated in midfield once again.
Nir Bitton 4/10
Easy through ball to Tierney was over hit and needed to be more aware of the slick surface. Too slow on the ball and lost possession to McKay when a counter attack was on down the right wing. Did little to help Brown tracking runs from midfield and looked lethargic.
James Forrest 7/10
Quiet start to the game on the right wing and didn’t get on the ball too many times to drive at the Rangers defence. Had an early shot on goal in the second half but didn’t test the ‘keeper. Got another good run at goal a minute later and saw his shot blocked for a corner. Curled his shot wide after a piercing run. Much improved second half and looked much more lively.
Tom Rogic 7/10
Picked up the ball on a number of occasions in the early minutes of the game. Saw his shot deflected over the bar. Woeful ball into the box from the resulting corner. Pressed really well and had a great chance but couldn’t steady himself and make clean contact with the ball. Curled a shot wide of the left hand post after a good run forward. Shot went narrowly wide of the right hand post from 25-yards.
Scott Sinclair 6.5/10
Dangerous run at the defence and found Rogic who saw his shot deflected over the bar. Great chance from Dembele’s through ball but was denied by a good save from the ‘keeper. Saw his free-kick hit the crossbar after another terrific save from Gilks.
Moussa Dembele 7/10
Good link up play with Sinclair after intercepting the ball who was denied by Gilks. Huge chance from Rogic’s through ball but scuffed his volleyed effort on goal. Another good chance from Griffiths’ pass but curled his shot wide. Super flick from Griffiths’ pass and scored the winning goal.
Stuart Armstrong 6/10
Came on for Bitton with 29 minutes remaining in the game. Looked much more lively than Bitton in midfield. Good effort on goal from Forrest’s through ball but Gilks saved yet again. Played well in the defensive role and attacked at will.
Leigh Griffiths 6.5/10
Came on for the last 20 minutes and replaced Rogic. Played a terrific ball across the six-yard box but no Celtic player gambled on it. Got a decent effort on goal and used the defender as a marker but Gilks got down well to save. Should have played the ball through the middle after breaking down the left wing. Super ball through to Dembele for the winning goal. Almost doubled Celtic’s lead with a chip and should have killed the game.