Jens Hegeler's opened the scoring for Nurnberg in the 11th minute but Geromel equalised six minutes later.
Ilkay Gundogan made it 2-1 for the hosts in the 43rd minute and Julian Schieber made the points safe in the 90th minute.
Nurnberg made it three straight wins and four in their last five, including the German Cup, to move to a total of 18 points and sixth place in the table.
Cologne suffered their first loss under new coach Frank Schaefer to remain on eight points and in 16th place.
Nurnberg went ahead after 11 minutes with a fine blast by Hegeler, who turned in from the left side and struck his 20-yard shot just inside the far right post to make it 1-0.
Cologne were close to levelling the game after 16 minutes but Nurnberg defender Juri Judt cleared Martin Lanig's header off the line.
Cologne equalised just a minute later as Milivoje Novakovic's ball from the left side found Geromel whose first shot was batted back off the goal line by Nurnberg keeper Raphael Schafer, but Geromel headed home the rebound.
Nurnberg's Javier Pinola found the side-netting in the 19th minute and Mike Frantz did the same 20 minutes later.
But Nurnberg regained the lead in the 43rd minute with Gundogan heading home Frantz's cross from the left.
Hegeler nearly made it 3-1 a minute into first half injury time but Cologne defender Stephan Salger stopped his shot on the line.
Schafer made two fine saves to keep his team ahead, first from Novakovic's header in the 48th minute and then from Fabrice Ehret's shot in the 52nd minute.
Cologne keeper Miro Vardovic tipped Pinola's deflected shot over the cross bar in the 54th minute.
But Vardovic could not keep out Nurnberg's third goal in a 90th minute counter-attack with Hegeler ending a long run following possession being turned over in midfield by passing over to Schieber who slotted home.