Bayer Leverkusen inflict Borussia Monchengladbach's first Bundesliga defeat under Andre Schubert as they win 5-0 at the BayArena.
Ibrahima Traore had the first chance of the game for Gladbach as he found some space just outside the box but his effort was comfortably saved by Bernd Leno.
Lars Stindl then put the ball in the box for Josip Drmic, but the Swiss international was denied well by Leno, who pushed it wide and away from his goal.
Leverkusen took the lead soon after as some good build-up play led to Roberto Hilbert finding space out wide and he crossed it to the back post for Stefan Kiessling to nod home from a few yards out.
Julian Korb looked to equalise quickly as he broke in behind and cut inside of Jonathan Tah, but the midfielder blazed his effort over the bar.
Javier Hernandez made it two after half time when, after exchanging passes with Kiessling, the Mexican tapped home his 15th goal since joining Leverkusen in the summer.
Kiessling got his second two minutes later when he attacked Karim Bellarabi's corner with a powerful header into the top corner.
Hernandez then got his brace 15 minutes from time as he turned in space outside the box and the former Manchester United forward fired home to score his 14th goal in 12 matches.
The Mexican finally got his hat-trick after Kevin Kampl played Bellarabi in behind and the German unselfishly laid it on a plate for Hernandez to make it five for Leverkusen.
The win moves Leverkusen just two points behind Gladbach, who drop into 5th place in the Bundesliga table.