Roberto Mancini's visitors were second-best throughout Friday's (AEDT) tie at Red Bull Arena, Leipzig missing a string of opportunities before finally finding a way through in the 56th minute.
Bruma swapped passes with Timo Werner on the edge of the penalty area, bursting into the box to place his finish past Zenit goalkeeper Andrey Lunev.
Werner doubled Leipzig's lead when he brilliantly chipped Lunev after Naby Keita sent him through, but a brilliantly floated late free-kick from Domenico Criscito gave Zenit a crucial away goal.
Werner and Jean-Kevin Augustin wasted decent openings in a slow start to the game, before Emil Forsberg came close to breaking the deadlock.
The Sweden international had Lunev well beaten with a 30-yard free-kick, but the ball curled too far and cracked the ball against the inside of the post.
Werner missed good chances either side of the half-time break, with the Germany international's radar in front of goal faltering.
Those wasted opportunities were forgotten, though, as Werner's cute backheel sent Bruma into the box to bend a fine finish beyond Lunev to open the scoring.
Werner continued to frustrate in front of goal, however, the striker fluffing his lines when sent through by Keita allowing Lunev making an easy save from his poor effort.
But when Keita slotted Werner into the box, the forward would not miss again, lifting a cute finish over the onrushing Lunev to put Leipzig in control.
Zenit lost the first leg against Celtic in the last round before roaring to a 3-0 success at home, so the 2008 champion still believed in its chances of reaching the quarter-finals.
It boosted those chances by claiming what could be a key away goal with four minutes remaining, captain Criscito stepping up to curl home a delightful free-kick and leave the tie in the balance.