La partita inizia con ritmi piuttosto alti. La Fiorentina preme fin dall’avvio, conscia di dover recuperare il risultato. La Juventus invece è sempre pronta a ripartire e nel primo quarto d’ora spreca un paio di ripartenze promettente, prima con Vlahovic che ritarda il passaggio per Morata, mandandolo in fuorigioco, e poi con un’azione conclusa da un tiro del serbo respinto da Dragowski. La partita prosegue con continui cambi di fronte. Al 24′ il vantaggio viene sfiorato con un gran tacco di Vlahovic per Morata che viene anticipato da Martinez Quarta per un soffio. Al serbo sembra mancare il guizzo finale, come nell’occasione del tentato pallonetto parato dal portiere viola, in cui viene fischiato un dubbio fuorigioco. Poi al 31′ arriva il vantaggio con l’ennesima ripartenza: un cross di Morata sfrutta un’uscita sconsiderata di Dragowski, Biraghi respinge e Bernardeschi segna il più classico dei gol dell’ex, con stop di petto e tiro al volo di pregevole fattura. AP 40′ i bianconeri rischiano di vanificare tutto con una distrazione di De Sciglio che manda in porta Cabral, ma Perin fa buona guardia. Il primo tempo si chiude col vantaggio bianconero.
I viola iniziano la ripresa con la voglia di riprenderla e Perin deve fare subito una gran parata sul colpo di testa di Martinez Quarta. Ogni ripartenza bianconera può essere letale e lo dimostra il palo esterno di Zakaria, sempre abile negli inserimenti. La pressione della Fiorentina è sempre viva e Allegri inserisce Dybala al posto di Morata, alla ricerca della giocata della qualificazione. A 20 dal termine sembra chiudersi il discorso ma il gol di Rabiot viene annullato per un fuorigioco di pochi centimetri. Al 78′ è de Ligt a salvare il risultato andando in contrasto aereo con Cabral. Per gli ultimi minuti poi Allegri mette Cuadrado per provare a sfruttare le sue accelerazioni con la Fiorentina sbilanciata. Nel finale entrano anche Chiellini e Kean e la Juve argina gli ultimi confusi attacchi dei gigliati. E poco prima del fischio finale Cuadrado fa un’azione delle sue e serve Danilo che mette all’angolino il sigillo della vittoria. Finisce 2-0 per i bianconeri.
Allegri fin da subito ha impostato la gara giocando al gatto col topo. Sapeva che sarebbero stati i viola a dover recuperare il risultato e ha puntato sulle ripartenze per fare male agli avversari. Per i bianconeri grande prova di Rabiot, che ha dato continuità all’interno del match in entrambe le fasi. Bene Bernardeschi con un gol tanto bello quanto importante. Zakaria ormai ha ritrovato la gamba e Perin si conferma un secondo affidabile. Solido Danilo, anche adattato in mezzo al campo e autore del gol della sicurezza. La difesa ha retto bene senza farsi infilare dalle imbucate disegnate da Italiano. Obiettivo raggiunto: l’11 maggio allo Stadio Olimpico sarà ancora Juve-Inter. In palio la Coppa Italia.