Joao Miranda, Arda Turan and Leo Baptistao scored the goals in the Group F opener, which puts the Spaniards top of the pool ahead of Porto, who beat Austria Vienna 1-0.
The scoreline did not tell the whole story though - Zenit will go home cursing their luck, and on another day they could have returned to Russia with at least a point.
Atletico have won all four of their domestic matches and sit proudly on top of La Liga and they showed why against the Russians in the first half. They dominated the first half before finally breaking the deadlock in the 40th minute.
Miranda scored a header from a corner to put the hosts in front, but with just one goal to show for all their possession, they were living dangerously.
Sure enough, Zenit sensed their chance and started the second half in determined fashion, Thibault Courtois having to make a superb save from an Alexander Kerzhakov header.
But Zenit did level it on 58 with an absolutely stunning goal.
Kerzhakov picked out star striker Hulk, and he lashed in a spectacular left-foot shot past Courtois.
The Brazilian star was desperately unlucky not to add a second moments later as he fired a free-kick against the crossbar.
Atletico then peppered Yuri Lodygin's goal until they went back in front, with a huge slice of luck on 64.
The ball ricocheted around the Zenit penalty area and when a visiting defender smashed the ball against Turan, it rebounded into the net.
Lodygin then kept the Russians in the game with a fine save from David Villa's free-kick, but Baptistao did make the game safe for Atletico with virtually his first touch 10 minutes from time. Just after replacing Adrian Lopez, he collected Turan's pass and curled beautifully into the far corner.