Gonzalo Castro put Leverkusen up 1-0 in the 31st minute when he pounced on a rebound spilled by Sebastian Mielitz from a Daniel Carvajal shot. Castro made it 2-0 just after halftime in the 52nd minute. He received a pass from Lars Bender and beat a few defenders before shooting past Mielitz.
Bremen quickly responded just minutes later when Nils Petersen headed in Aaron Hunt's cross to put themselves right back into the match.
Simon Rolfes and Jens Hegeler made it 4-1 with goals in the 74th and the 79th minute. Rolfes latched on to a loose ball in the area and poked it past Mielitz, while Hegeler ran on to a pass from Andre Schürrle and put it in the corner of the net.
Leverkusen now sit on 27 points in second place, but they're a full 10 points behind Bayern Munich. Bremen remain in 12th place on 18 points.