The visitors made the brighter start and had their first chance as early as the fifth minute when Sebastian Boenisch's attempt from a narrow angle went wide.
Boenisch came close again three minutes later, before Andre Schurrle tried his luck from outside the Nuremberg box but in vain.
Boenisch could have doubled his side's advantage minutes later when he took an attempt from distance but failed to keep his shot on target.
Toprak's header from Castro's corner on 33 minutes went narrowly wide, while Nuremberg had two chances in quick succession towards the closing stage of the first half through Alexander Esswein and Niklas Stark but failed to make the most of them.
Bayer remained in control at the start of the second half, as Sidney Sam had two chances in 60 seconds in the opening minutes.
Sam could have made it 3-0 to Bayer nine minutes from time had he been able to successfully convert his side's second penalty kick of the match.