Algeria international Bensebaini converted from the spot after Javi Martinez was sent off for bringing down Marcus Thuram in the box.
Gladbach are now on 31 points with Bayern, who suffered their second consecutive league loss, dropping to sixth on 24.
RB Leipzig are second on 30, after beating Hoffenheim 3-1 with two goals from Timo Werner. Borussia Dortmund's Marco Reus and Jadon Sancho also scored two apiece in a 5-0 demolition of Fortuna Duesseldorf as their side moved up to third place on 26.
Bayern thrash Bochum as Lewandowski completes scoring set
It was another wasteful performance from Bayern who should have scored several goals in a dominant first half through Thomas Mueller and top scorer Robert Lewandowski.
Gladbach keeper Yann Sommer denied Bayern twice more, including keeping the ball on the line with his fingertips, as the hosts were completely outclassed in the first half, Bayern's Corentin Tolisso was taken off injured but his replacement Ivan Perisic delivered in the 49th, turning 180 degrees and firing home for the lead.
The hosts sprung to life after the goal and took control of the game, with Bensebaini levelling on the hour with a header after being given too much space in the box.
In an entertaining second half both teams looked for the winner but it was Gladbach who got it in stoppage time to continue their spectacular title run.
Coman has minor heart surgery, set to miss two weeks
‘We expected it’ – Laporta asks for patience after Barca’s 3-0 loss to Bayern