Bayer Leverkusen battled past strugglers VfL Bochum 3-1 thanks to two second-half goals to cut the gap with Bundesliga leaders Bayern Munich to three points.