The hosts finished one point behind second-placed Juventus in the table after the Italian giants drew 0-0 at home to group winners Atletico Madrid.
David Fuster, Alejandro Dominguez, Kostas Mitroglou and Ibrahim Afellay were on target for Olympiakos, while Simon Kroon and Markus Rosenberg netted for Malmo, who lost Enoch Adu to a late red card and finished bottom of the group with just three points.
The home side started strongest and could have taken an early lead had Robin Olsen not blocked Pajtim Kasami’s close-range effort in the opening exchanges before Mitroglou sent his header just wide of the Malmo goal.
Pa Konate tested Olympiakos goalkeeper Roberto with his cross-cum-shot 10 minutes in, but the Spaniard comfortably held the ball out before the hosts began to dominate again.
This time Giannis Maniatis was unfortunate not to put Michel’s men ahead as he sent his right-footed volley wide from six yards out.
The home side got their reward midway through the first half as Switzerland midfielder Kasami headed on from Arthur Masuaku’s throw-in and Fuster got his head on the ball at the far post, sending it into the bottom right corner to put Olympiakos in front.
Mitroglou almost doubled the lead just after the hour mark, but his shot from the left of the penalty box sailed past the opposite upright.
The hosts pushed for a second and Dominguez went close but visiting goalkeeper Robin Olsen caught his curled effort.
Malmo almost equalised five minutes before the break but Isaac Kiese Thelin was unfortunate to send his overhead kick from Magnus Eriksson’s corner over the bar.
Alberto Botia sent his header wide as the second half got under way, before Olympiakos team-mate Arthur Masuaku had his long-range effort saved by Olsen.
But – with their first real chance of note – it was the visitors that were next to get on the scoresheet as second-half substitute Kroon met Emil Forsberg’s cross from the right channel and sent the ball past Roberto and into the bottom right corner from 12 yards.
Just three minutes late, Dominguez struck back for the the home side as he picked up Omar Elabdellaoui’s throw-in just outside the 18-yard box to put Olympiakos??back in front.
Against the run of play Malmo netted a second equaliser with 10 minutes remaining as Anton Tinnerholm found Rosenberg in the centre of the box and the former Sweden striker made no mistake as he netted his 14th goal of the season.
The home side were not finished yet and late strikes from Mitroglou and Afellay made the points safe before Adu was sent off at the death for his second yellow-card offence.