Ideye Brown struck the decisive goal for Olympiakos at the Maksimir Stadium to send Dinamo Zagreb spinning to a second Group F Champions League defeat.
Former West Brom striker Brown raced on to Dimitrios Siovas' defence-splitting pass in the 79th minute to finish in style after Dinamo had twice hit the woodwork in the second half through midfield pair Domagoj Antolic and Marko Rog.
Dinamo went into the game with just one defeat in 48 games in all competitions, while Olympiakos had lost once in 17 -- both sides losing heavily to Group F rivals Bayern Munich last month.
The home side dominated the early stages as Olympiakos defended in numbers but clear-cut chances were at a premium and neither side was able to break the deadlock before half-time.
El Arbi Soudani's second-minute effort was blocked by Olympiakos defender Alberto Botia before the Dinamo striker's 18-yard shot curled wide and visiting goalkeeper Roberto saved comfortably from Junior Fernandes in the 19th minute.
Olympiakos twice threatened in quick succession after the half-hour mark as Dinamo's tempo dropped. Midfielder Arthur Masuaku's 30-yard shot was parried by home goalkeeper Eduardo and Brown headed just over the crossbar.
Dinamo were denied an opening goal by the woodwork seven minutes after the restart when Antolic fired the ball right-footed from against a post from six yards.
Olympiakos responded through Kostas Fortounis, whose thumping 25-yard drive was just off target, while another effort from the midfielder was easily saved by Eduardo.
Dinamo defender Jeremy Taravel was in action at both ends, first blocking Pajtim Kasami's goalbound 20-yard effort and then crashing a shot of his own from further distance just wide as both sides chased the elusive goal.
The Croatian side hit the post for a second time in the 77th minute through Rog's shot from inside the area and their misery was compounded two minutes later when Brown fired Olympiakos ahead.
Midfielder Siovas picked out Brown with a superb pass from his own half and the Nigeria international raced on to steer a left-footed finish beyond Eduardo into the bottom corner from the tightest of angles.
Olympiakos pressed for a second but shots in quick succession from Alejandro Dominguez and Seba were comfortably held by Eduardo.
Dinamo had chance to snatch an equaliser in the closing stages, but substitute Angelo Henriquez headed wide from 12 yards with the goal at his mercy.