The goal came just before the hour mark when Alvaro Morata was brought down by Ricardo Carvalho. Despite Monaco’s protests that the foul was outside the area, it was, Czech referee Pavel Kralovec pointed to the spot, and Vidal, fired past Danijel Subasic and into the top corner.
The game early on settled in a pattern of Juventus domination, with Monaco looking to hit the Italian side on the counter-attack.
Juve wasted several good chances early when Morata fired a volley over from Pirlo’s delightful chip in the opening minutes while Tevez forced Subasic down low to block a 25-metre drive. But Monaco quickly demonstrated their potency on the counter, the pace of Ferreira-Carrasco in particular causing problems for right-back Stephan Lichsteiner.
When Layvin Kurzawa found space on the left, the left-back fired his effort over with Buffon covering the danger easily. Juve survived a bigger scare when Ferreira-Carrasco was set up inside the area only to fire straight at Buffon. Those chances sparked Juve into life, but Monaco — who had conceded only four times in their past eight Champions League games — packed their defence tightly.
Tevez escaped to the back post but, while unmarked, shot straight at Subasic from Claudio Marchisio’s pinpoint delivery, while Tunisian defender Aymen Abdennour produced a timely block on Lichsteiner’s cross for Morata who was lurking at the far post. Monaco had claims for a penalty waved away after teenage striker Antony Martial tumbled to the ground under pressure from Giorgio Chiellini as he muscled his way into the area while in possession.
Juve finished the half on a high, but in frustration after Tevez shot straight at Subasic while unmarked at the back post from Marchisio’s chip before Vidal ballooned over after running on to a ball delivered by the outside of Tevez’s boot.
Monaco started brightly after the restart, but Buffon reacted quickly to substitute Bernardo Silva’s near-post drive although it looked slightly off target. Juve finally broke the deadlock just before the hour, Vidal stepping up and, despite his earlier imprecision, smashing the ball past Subasic to send a packed-out Juventus Stadium into raptures.
Midfielder Geoffrey Kondogbia saw his long-distance drive tipped over by Buffon minutes later, and with 20 minutes remaining Monaco coach Leonardo Jardim reshuffled his side, replacing Italian defender Andrea Raggi with striker Dimitar Berbatov. While the Bulgarian had an almost immediate impact, heading over from a corner.
Monaco failed to grab the away-goal equaliser that would have given them a huge boost ahead of the 22 April return leg and Juventus have to feel confident that they will be able to score in Monaco next week and book their place in the semi-finals.