The group leaders proved too strong for the Croatian outfit, who how gone 10 games without a win in the group stage of Europe's premier club competition
Despite some nervous moments for the home side, goals from Lucho Gonzalez, Joao Moutinho and Silvestre Varela wrapped up the victory for the Portuguese giants, who had already secured qualification before kick-off.
After a confident start from Porto, the away side spurned the first good chance of the match following a quick breakaway. Domagoj Vida drove powerfully from his own half and released Sammir with a lofted through-ball. The Brazilian forward raced clear, but his venomous effort cannoned back off the inside of Helton's far post.
Sammir was again involved after 17 minutes and he was almost allowed to capitalise on a defensive error by Nicolas Otamendi, who woefully gave the ball away under no pressure. But despite nutmegging his marker, the Zagreb No. 10 was unable to bundle the ball past the physical presence of Eliaquim Mangala and the chance petered out.
Warning bells rang for the home side, who took heed of Zagreb's chances and stepped up a gear.
The nerves of the home fans were settled on the 20-minute mark however, as a result of their side's renewed impetus. Following good interplay on the edge of the Zagreb area from Jackson Martinez and Joao Moutinho, Gonzalez blasted his side into the lead.
Otamendi then turned saviour for Porto minutes before half-time, as his last-ditch challenge on Fatos Beciraj prevented the winger from testing Helton.
From the resulting corner, the goalkeeper did manage to get his first real touch of the ball, but suicidally dropped the in-swinging set piece at the feet of Beciraj. Steven Defour did just about enough to put the Zagreb man under pressure, only allowing Beciraj to poke a weak effort at goal, which Mangala cleared off the line.
Porto continued in the same vein after the break, dominating possession but creating few clear cut chances. Rodriguez had the chance to give his side a cushion in the 61st minute, after being given the ball by the lively Martinez, but placed his effort too close to Ivan Kelava.
Kelava had no such luck four minutes later, as the Zagreb keeper found himself picking a spectacular 30-yard Moutinho free kick out of the back of his net, putting Porto firmly in the driving seat.
After continued domination, Varela was on hand to wrap up the facile 3-0 victory in the last five minutes of the game, beating Kelava at his near post after an intelligent back-heel from the imperious Moutinho.
Both Martinez and Varela were denied by Kelava in the dying embers of stoppage time, but an extension of the scoreline would only have flattered the Portuguese side, who must defeat away to second-placed Paris Saint-Germain in their final fixture if they are to progress as winners of Group A.