Adrian Ramos put the visitors in front in the third minute, but Pizarro levelled after 23 minutes.
Berlin were then reduced to nine men with Christian Lell and Ramos shown red cards between in the 57th and 63rd minutes.
However, Bremen only managed to capitalise on their two-man advantage deep in stoppage time when Pizarro nodded in the winner.
Ramos gave Hertha a perfect start with a goal after only three minutes.
He was left too much space in the centre and was able to take the ball down and then lift it past Bremen's stand-in goalkeeper Sebastian Mielitz into the far corner.
Ramos then set up Raffael for a chance in the 16th minute, but his team-mate showed less composure on the edge of the penalty area and waited too long before sending in a weak low shot that was easy for Mielitz to collect.
Bremen levelled in the 23rd minute with a goal that Berlin goalkeeper Thomas Kraft will have nightmares about.
Pizarro did not get an excessive amount of power on his header goalwards from six yards out, but Kraft nevertheless made an awkward attempt to keep it out, succeeding only in guiding it into the back of his own net.
Bremen took heart from the equaliser and Aaron Hunt's free-kick was pushed wide by Kraft, who was then thankful for his left-hand post, which denied Hunt moments later.
Things took a turn for the worse for Berlin when Lell was shown his second yellow card in the 57th minute.
He was followed into the dressing room early by Ramos, who picked up a silly second yellow card six minutes later for kicking the ball away.
Bremen tried as hard as they could to break down their nine-man opponents, but Raffael nearly put Berlin back in front in the 79th minute.
Pizarro had the ball in the back of the net at the other end two minutes later, but his goal was somewhat harshly disallowed for a foul on Roman Hubnik.
There were no doubts about his winner in the third minute of stoppage time, though, as he again headed in from close range to clinch the points at the death.