The two sides drew 3-3 in last week's barnstorming first leg, in which the German side were awarded three penalties and Lazio grabbed a stoppage-time equaliser.
It looked as though another evening of excitement was in prospect when Candreva sidefooted the hosts in front inside 10 minutes after dispossessing defender Alvaro Dominguez.
But Gonzalez's goal shortly after the half-hour was enough to seal a routine win on the night and a 5-3 aggregate scoreline to set up a tie against another Bundesliga side, Stuttgart.
Dominguez miscontrolled Martin Stranzl's pass to gift Lazio their early opener and a shaky looking visiting defence was almost breached again five minutes later when keeper Marc-Andre ter Stegen made a meal of a routine Senad Lulic shot.
Gladbach's Patrick Herrmann failed to hit the target from a good position, as did Lazio's Gonzalez from significantly further out.
But the latter doubled his side's lead in the 33rd minute, sliding in to score from close range after Ter Stegen could only parry Stefan Radu's low shot.
The Serie A outfit looked intent on putting the tie to bed before half-time, with Abdoulay Konko drawing a save from Ter Stegen and Cristian Ledesma firing over.
Ter Stegen did well to keep out Hernanes' long-range strike and also blocked away the resulting corner from Candreva to ensure half-time arrived with no addition to the scoreline.
After Gonzalez fired over, Gladbach coach Lucien Favre waited only six minutes of the second half before attempting to change matters, sending on Amin Younes in place of Juan Arango.
The newcomer soon shot wide from distance before Stranzl drew a superb save from Lazio keeper Federico Marchetti.
Gladbach lost Thorben Marx to a serious-looking injury with 10 minutes remaining, Granit Xhaka taking his place, and created only one notable chance thereafter which Mike Hanke headed over.
Stuttgart's 2-0 win over Genk, and 3-1 aggregate success, means they await Vladimir Petkovic's men in the next round.