Bayer Leverkusen battled past strugglers Bochum 3-1 on Friday to cut the gap to leaders Bayern Munich to three points.