Pizarro treble grabs points for Bremen
Cologne led early through Christian Clemens' third-minute strike and it was 2-0 after 45 minutes when Lukas Podolski struck.
Pizarro pulled a goal back in the 49th minute before equalising from the spot on the 54-minute mark when Henrique Sereno was red-carded. Pizarro then finished off his hat-trick, and won the game, in the 86th minute.
Cologne grabbed the early lead on the road as Podolski sent a long diagonal cross from the left side to Clemens, who outraced Werder defender Sokratis and headed inside the right post from 12 yards out.
Aaron Hunt found the net for Werder with a bicycle kick in the tenth minute but his effort was disallowed for offside. Coach Thomas Schaaf did not wait long and made two tactical substitutions in the 37th minute, with Markus Rosenberg and Philipp Bargfrede coming on for Mehmet Ekici and Lukas Schmitz respectively.
It did not immediately help as Cologne doubled their lead in the 45th minute. Hunt lost the ball just outside the area to Clemens, who immediately sent a long ball to Podolski, and the Germany international beat Werder goalkeeper Tim Wiese to make it 2-0.
Werder halved the deficit just four minutes after the break with some confusion in the area as Cologne twice blocked Werder shots but the ball landed at Pizarro, who struck a side-volley to make it 2-1.
The hosts levelled at 2-2 in the 54th minute from the spot. Sereno was red-carded for taking down Rosenberg in the area, and Pizarro hammered his penalty into the lower-right corner.
Werder dominated the run of play for the rest of the game and Cologne were down to only nine players as defender Geromel went off injured in the 74th minute, but Cologne coach Stale Solbakken had already made three substitutions.
Werder finally grabbed the winner in the 86th minute as Hunt's ball from the left side was headed on by Rosenberg to the far right post, where Pizarro hit home for the hat-trick.