© Getty Images
The Greek side started brightly and Juventus defender Giorgio Chiellini was forced to make an interception early on to thwart a promising attack.
Juventus nearly had the lead when Carlos Tevez turned an effort goalwards, but the South American's attempt was cleared off the line by Omar Elabdellaoui on 12 minutes.
Tevez thought he had opened his account for the evening moments later following a goal-mouth scramble, but his header was correctly ruled out for offside.
Ten minutes before half time, it was Olympiacos who took the lead through former Fulham midfielder Kasami after he swept home a finish after a counter-attack.
Alejandro Domínguez found Kasami inside the box on the hour mark, but the goalscorer was unable to make it 2-0 after blasting his effort just wide.
Morata spurned the visitors' best chance of the half when he headed over Arturo Vidal's cross on 72 minutes.
Juve piled on the pressure in the final stages and Roberto made a stop to deny Tevez, before Paul Pogba struck the crossbar with a cross that caught the keeper out.
Roberto was at it again with 10 minutes to play, this time keeping out Morata's effort by forcing it onto the woodwork.
As Juve searched for a late equaliser, the goalkeeper was yet again alert to thwart Tevez after the former Manchester City striker had cut inside and unleashed a fierce effort in the final few minutes.