Eren Derdiyok and Simon Rolfes had put the visitors in control of the match and they appeared to be on course for all three points, but a spirited fightback from Thomas Schaaf's side was rewarded.
An own goal from Stefan Kiessling and a header from Sebastian Prodl in stoppage time earned them the point they needed to move above Kaiserslautern and out of the bottom three.
Leverkusen ended the game with only 10 men as Arturo Vidal saw red in the 87th minute.
Bremen had the first chance with youngster Florian Trinks blazing his shot over the crossbar from a tight angle in the 11th minute.
The home side demonstrated a lot of determination and passion and Tim Borowski missed two great chances to put them in front with Rene Adler saving twice.
Derdiyok's goal at the other end was rightly ruled out for offside on the half-hour mark and Tim Wiese made a fine one-handed save to deny him 10 minutes later as Leverkusen began to take charge.
From the resulting corner, Derdiyok sprang high to head in at the far post and put Leverkusen in front three minutes before the interval.
Rolfes made it two as Leverkusen made one of their counter-attacks count in the 67th minute with their captain providing a cool finish after being found inside the area by Derdiyok.
The game appeared to be over and Leverkusen coach Jupp Heynckes started to rest some of his players, bringing Michael Ballack on for the final 20 minutes.
But Bremen suddenly responded and a Sandro Wagner header almost brought them back into the game in the 74th minute.
They got the goal they were looking for in the 82nd minute when Leverkusen failed to fully clear their lines from a corner and the ball was swung back into the danger area where Kiessling, under pressure from Per Mertesacker, diverted the ball into his own goal.
Mertesacker was now playing as an additional striker as Bremen piled on the pressure.
Vidal was given his marching orders in the 87th minute for his second yellow card and the 10 men were unable to hold out as Prodl leapt to head in Aaron Hunt's cross just seconds after Kiessling had dragged his shot wide at the other end for what proved to be a costly miss for Leverkusen.