Juventus reached the semi-finals of the Champions League by earning a goalless draw with Monaco in the second leg of their last-eight tie on Wednesday evening.
The Ligue 1 club dominated possession as they looked to overturn a one-goal deficit, but they only managed to find the target once all evening.
Massimiliano Allegri's side produced a solid defensive performance to keep an eighth clean sheet in nine games, as they held on to reach the last four for the first time in over a decade.
Here, Sports Mole rates the best and worst performances from the Stade Louis II.
MONACO:
Goal
Danijel Subasic: Was a virtual bystander all evening. Had to make just one save, but was left helpless as Pirlo's late free kick crashed against the woodwork. (6/10)
Defence
Fabinho: Got up and down the right wing all evening, but despite seeing a lot of the ball, he was unable to produce any telling crosses into the box. (6/10)
Andrea Raggi: Produced a solid display at the back and kept Morata and Tevez largely quiet. (7/10)
Aymen Abdennour: Fine display alongside Raggi. He was dependable all evening and won every challenge. (7/10)
Layvin Kurzawa: Tireless performance from the full-back. Got forward at every opportunity, but his final ball let him down. (6/10)
Midfield
Jeremy Toulalan: Struggled to really impose himself on his return from injury. He was solid if unspectacular in possession, but was replaced at half time. (6/10)
Geoffrey Kondogbia: Probably Monaco's best player. The Frenchman fired a great strike just wide of the post in the first half and looked to be one of the few players capable of making the difference. (7/10)
Joao Moutinho: Played well in the first half and got involved in many of his side's best moves. However, he faded after the break and barely saw any of the ball. (6/10)
Attack
Yannick Ferreira Carrasco: Failed to trouble the Juventus defence as he did in last week's first leg. His set piece delivery also let him down and he was eventually replaced late on. (5/10)
Bernardo Silva: The Portuguese youngster looked dangerous when he got on the ball and he had a couple of bright moments in the first half. (7/10)
Anthony Martial: Had a tough night against the Juventus back three and was replaced by Germain after making little impact. (5/10)
Substitutes
Dimitar Berbatov: Looked dangerous after coming off the bench, but was not given enough service from his teammates. (6/10)
Valere Germain: Came on for Martial, but struggled to get into the match. (6/10)
Matheus Carvalho: Was only on for the last few minutes and barely saw the ball. (6/10)
JUVENTUS:
Goal
Gianluigi Buffon: Was only forced into making one save all evening, but dominated his area well and claimed everything that came his way. (7/10)
Defence
Stephan Lichtsteiner: Unable to make his usual impact down the right after being forced back for long spells. He was solid at the back and did well to keep track of the dangerous Kurzawa. (7/10)
Giorgio Chiellini: Slipped and handled the ball deliberately inside the opening minute, but recovered to produce a strong display at the heart of the Bianconeri's defence. (8/10)
Andrea Barzagli: Another solid display from one of the Juventus back three. Made a number of vital tackles and was strong in the air. (7/10)
Leonardo Bonucci: Made a number of vital blocks and interceptions for the visitors as they came under heavy pressure. (7/10)
Patrice Evra: Experienced display from the full-back. He was rarely beaten down his side of the pitch and helped to relieve some of the pressure they came under after the break. (7/10)
Midfield
Andrea Pirlo: Did not see as much of the ball as he would have liked, but when in possession he was always assured and reliable. Came close to winning the match with a stunning free kick that hit the post in the final minute. (7/10)
Arturo Vidal: Hard-working display as ever from the midfielder. Closed down his opponents well and gave everything to the cause. (8/10)
Claudio Marchisio: Put in a lot of effort to help stem the flow of Monaco attacks, but could not make too much of an impact on the match. (6/10)
Attack
Alvaro Morata: Struggled to get into the match and did not do a great job of holding the ball up. Was replaced midway through the second half by Llorente. (5/10)
Carlos Tevez: The Argentine was left frustrated up front again, but he worked hard for his team and did manage to fashion a couple of half-chances out of nothing. (6/10)
Substitutes
Fernando Llorente: Held the ball up well after coming on and was smart in possession. (6/10)
Simone Padoin: Made little impact after coming on in the final minute. (6/10)
Roberto Pereyra: Decent performance from the Argentine, who looked lively and helped Juventus to hold on to the ball in the final stages. (7/10)