Ivica Olic had equalised for the visitors in the 39th minute but they struggled to contain a rampant Leverkusen side in the second half.
Mainz fell to their first home defeat of the season as Schalke took all three points at the Coface Arena.
Kevin-Prince Boateng scored his first goal for Schalke in the 34th minute to seal the win and lift his side into the top half of the table.
Vaclav Kadlec continued his good start at Eintracht Frankfurt as he struck twice in their 3-0 victory over Werder Bremen at the Weserstadion.
The former Sparta Prague striker scored two first-half goals before a Sebastian Prodl own goal compounded the misery of Werder, who had seen Franco Di Santo sent off. The result sent Robin Dutt's men to their third consecutive defeat in the league.
Freiburg continue to search for their first win of the season as they fell to a 2-1 defeat to Augsburg. After a goalless first half, Freiburg opened the scoring in the first minute of the second period before Halil Altintop equalised for the hosts.
Tobias Werner won the game for Augsburg in the closing minutes, the midfielder firing past Oliver Baumann after a neat ball from Jan Moravek.