Stuttgart put up a real fight as they came from behind twice and refused to yield until Leverkusen's Stefan Reinartz headed the winning goal on 81 minutes before Stefan Kiessling netted his second of the game in added time.
The win leaves Leverkusen 10 points behind leaders Borussia Dortmund and knocks defending champions Bayern Munich down to third in the table.
The hosts opened the scoring when Germany forward Kiessling drilled home a left-footed shot after just six minutes, only for Stuttgart's striker Martin Harnik to equalise ten minutes later.
Leverkusen midfielder Gonzalo Castro put his side ahead again on 41 minutes, but Serbian midfielder Zdravko Kuzmanovic levelled again for Stuttgart mid-way through the second half.
Defender Reinartz then sealed Leverkusen's victory with a header nine minutes from full-time before Kiessling scored his second in the first minute of injury time.
Ex-Germany captain Michael Ballack came off the bench for Leverkusen with 25 minutes remaining as he works his way back to fitness from a knee injury.
Stuttgart, the 2007 German league champions, remain four points from safety and firmly in the relegation battle, second from bottom.
On Saturday, Bayern enjoyed a 3-1 win at Mainz, while Dortmund had a 2-0 home win over St Pauli.
Germany striker Mario Gomez, the league's top scorer, completed Bayern's rout with his 18th goal in 21 league games after midfielders Bastian Schweinsteiger and Thomas Mueller had put Bayern in control.
Mainz's Tunisia striker Sami Allagui scored a late consolation goal for the hosts, but Bayern held on to warm up for Wednesday's Champions League last 16 game at holders Inter Milan with a win.
Dortmund stay on course for their first league title since 2002 with a home win over Hamburg-based St Pauli after Paraguay forward Lucas Barrios netted for the tenth time this season six minutes before the half-time break.
He then made sure Dortmund took all three points with a 49th-minute shot that took a deflection off St Pauli defender Ralph Gunesch on the way into the net for an own goal.
Hanover are fourth in the table after a 3-0 win over Kaiserslautern, with former Germany striker Jan Schlaudraff netting twice.
Hamburg coach Armin Veh left Dutch hot-shot Ruud van Nistelrooy on the bench for his side's 4-0 win over Werder Bremen on Saturday.
Freiburg's Senegal striker Papiss Demba Cisse netted his 16th goal in 21 league games this season with a superb strike as he held off several defenders before stabbing the ball home on 70 minutes to seal a 2-1 win over Wolfsburg.
The defeat leaves Wolfsburg just above a relegation place as they lost again after sacking ex-England coach Steve McClaren a fortnight ago.
Cologne continue to pick up points and showed their fighting spirit with a 1-1 draw against Hoffenheim.
Nuremberg are up to eighth in the Bundesliga after their impressive 3-0 victory, their fourth straight win, against Eintracht Frankfurt on Friday night.
On Sunday, bottom side Borussia Moenchengladbach host Schalke 04, who drew 1-1 with Valencia in Spain in the last 16 of the Champions League in mid-week.
Leverkusen go second with win over Stuttgart
Advertisement