Atletico attacked the Greek champions from the start, coming close with a Raul Garcia header in the second minute, and the 2014 losing finalists continued to pile on the pressure throughout the match.
Garcia opened the scoring when he tapped in Juanfran Torres’s cross in the ninth minute after Olympiakos goalkeeper Roberto cleared straight to the Atletico defender.
Mandzukic struck first after a misunderstanding between defenders Alberto Botia and Eric Abidal enabled him to score from Cristian Ansaldi’s pass in the 38th minute.
Mandzukic turned to head in a cross from Arda Turan in the 62nd minute and then headed his third in the 65th.
With Juventus beating Malmo 2-0 in the other Group A match, Atletico is top with 12 points, followed by Juventus on nine. Olympiakos is on six points and Malmo has three.
Atletico avenged an opening 3-2 defeat by Olympiakos in Greece and now only needs a draw against Juventus in its final match to be sure of qualifying as the group winner.
“We now have to face a very tough match against a great rival, but with the intention of going there and winning,” said Garcia, who looked to be offside when he scored.
Antoine Griezmann looked to have scored a fifth for Atletico in the 88th, but the referee judged there had been a dangerous kick in the penalty area and disallowed his effort.
“We didn’t play well,” Olympiakos coach Michel Gonzalez said. “I’m unhappy about the feeling we gave out there, of never having been into the match.”