Celtic 2-0 Rangers - Pat Bonner and Kris Boyd rate the players
Celtic ran out comfortable 2-0 winners over Rangers in the Scottish Cup semi-final at Hampden courtesy of Callum McGregor's strike and a Scott Sinclair penalty.
The champions dominated the majority of the match as they continued their unbeaten run in domestic competition this season.
Derek McInnes's Aberdeen, who beat Hibs in Saturday's semi-final, are now the only side in the country who can stop Celtic from sealing a treble in boss Brendan Rodgers' debut season.
For Rangers, it was a first defeat for manager Pedro Caixinha.
Here, former Celtic goalkeeper Pat Bonner and ex-Rangers striker Kris Boyd offer their views on how the players on each team performed.
Craig Gordon (goalkeeper) 8
Two or three critical saves in the second half as Rangers began to threaten.
Mikael Lustig (right-back) 7
Didn't do anything wrong. Steady. Good long pass for the opening goal to find Moussa Dembele.
Jozo Simunovic (centre-back) 7
Good partnership with Dedryck Boyata. Never really troubled by the Rangers attack until late in the game.
Dedryck Boyata (centre-back) 7
Defended well and won the tackle that led to Celtic being able to break for the second goal.
Kieran Tierney (left-back) 7
Wasn't his most influential game in a Celtic jersey but as dependable as ever.
Scott Brown (centre midfield) 8
Led by example and could have had a nine. Strolled through the game. He's so influential and so important.
Stuart Armstrong (centre midfield) 7
Not at his most influential on the ball but off the ball he caused Rangers problems.
Callum McGregor (centre midfield) 8
He scored a fantastic goal and had a couple of other shots on target.
Patrick Roberts (wing) 7
Didn't do all that much in the game although he was on the end of a hefty challenge early on. Did enough to cause Myles Beerman problems.
Scott Sinclair (wing) 7
Scored penalty and took up some good positions. Often involved in Celtic's most threatening moves.
Moussa Dembele (striker) 7
Good control for the opening goal and good movement too. Unfortunate to get injured.
Leigh Griffiths (replaced Dembele after 34 minutes) 7
Did well to win the penalty, which gave Celtic that comfortable two-goal cushion.
Tom Rogic (replaced McGregor after 75 minutes) 6
Hit post with a good late effort but clearly still finding fitness after a long period out.
James Forrest (replaced Roberts after 82 minutes) 6
Too late to have a serious impact on the match.
Wes Foderingham (goalkeeper) 7
Unlucky with the penalty and made a couple of decent saves to give his side a glimmer of hope.
James Tavernier (right-back) 5
One of his better games against Celtic. Put some decent crosses in, which might have led to goals but rash in diving in for the penalty.
David Bates (centre-back) 6
Did OK to cope with the strength of Dembele and the movement of Griffiths.
Danny Wilson (centre-back) 5
Caught out of position for the first goal and made a couple of passes that went astray.
Myles Beerman (left-back) 5
Tough Old Firm debut for the young man and perhaps a little lucky to avoid a second yellow.
Andy Halliday (centre midfield) 5
McGregor ran off him for the opening goal and another player who can consider himself lucky to stay on the pitch.
Jason Holt (centre midfield) 5
Covered a lot of ground but with no influence on the game.
Emerson Hyndman (wing) 5
Never involved in the play. Unable to create any danger and no surprise he was eventually replaced.
Martyn Waghorn (wing) 5
Late headed chance, which should at least have hit the target, but he had no overall impact on the game.
Joe Garner (striker) 4
Not the game for him with Rangers having so little attacking play. The question could be 'why did he start the game?'
Kenny Miller (striker) 7
Should have scored with a headed chance, but the only one who didn't look out of his depth against Celtic.
Joe Dodoo (replaced Garner after 45 minutes) 6
One good shot that forced Craig Gordon into a decent save. Raw but showed willingness.
Barrie McKay (replaced Halliday after 45 minutes) 5
Added a bit of pace when he came on at half-time but was unable to create much.
Josh Windass (replaced Hyndman after 70 minutes) 5
At least tried to get on the ball but to no avail.