But Real remain at the bottom of Group B after their shock 3-2 home defeat by a depleted Shakhtar Donetsk side in last week's opener.
Shakhtar sit three points clear at the top of the early table after a goalless draw with Inter Milan in Tuesday's earlier Group B encounter.
Despite having more than 60 percent possession, Real rarely troubled Gladbach goalkeeper Yann Sommer until the frantic final scenes.
Benzema had two early half-chances at Borussia Park, before Gladbach struck in style just after the half-hour mark.
A bad pass by Germany star Toni Kroos put the Spanish giants under pressure in their own half.
Gladbach midfielder Jonas Hofmann snapped up the loose ball and fed Alassane Plea, whose pin-point low pass to Thuram was buried into the back of the net.
Real have now kept clean sheets in just two of their last 13 Champions League games.
Thuram, the son of French 1998 World Cup winner Lilian Thuram, pounced to score his second in the 58th minute.
When Plea's fierce shot was saved by Real goalkeeper Thibaut Courtois, Thuram was on hand to tap home the rebound from close range and leave the 13-time European champions reeling.
It could have been 3-0 a few moments later when Plea was denied when through on goal by Courtois.
Zidane threw on Luka Modric and Eden Hazard for the final 20 minutes in an attempt to avoid a damaging defeat.
Hazard released Benzema, who hit the side netting as Real desperately hunted for a goal.
With time almost up, Casemiro headed the ball back into play from a deep cross and Benzema diverted the ball in from point-blank range.
With Real attacking in waves, Modric clipped a cross to the far post, Sergio Ramos leapt highest and Casemiro drove the ball into the roof of the net.