Needing a win to guarantee progression, Massimiliano Allegri's charges were quick out of their starting blocks and scored with their first real attempt on goal.
Although Olympiacos weighed in with several efforts of their own and had the better of the second half, they were caught out in the 89th minute as the Bianconeri grabbed a second.
Federico Bernardeschi found the far bottom corner of the net after cutting inside from the right flank and unleashing a powerful left-footed drive that beat a helpless Proto.
Olympiacos (4-2-3-1): Proto; Elabdellaoui, Engels, Nikolao, Koutris; Romao, Tachtsidis; Pardo, Odjidja (Fortounis 61'), Seba (Marin 46'); Djurdjevic (Ben Nabouhane 71')
Juventus (4-2-3-1): Szczesny; De Sciglio, Benatia, Barzagli (Rugani 70'), Alex Sandro; Khedira, Matuidi; Cuadrado (Bernardeschi 84'), Dybala (Pjanic 62'), Douglas Costa; Higuain