Goals: 1-0 Ginter (3'), 2-0 Herrmann (77'), 2-1 Embolo (90+3')
The Foals began furiously an in effort to capitalise on Schalke's wavering confidence following two defeats at the start of the season, and were rewarded as early as the third minute when Matthias Ginter headed in at the back post from a corner. Gladbach tried to press home their advantage and dominated the first 25 minutes, but it was the visitors who next came closest to finding the net when Salif Sane's powerful header drew a superb save from Yann Sommer. Tony Jantschke very nearly gifted Schalke an equaliser with a wayward header close to half-time, but Mark Uth fired wide with only Sommer to beat.
The Royal Blues were more aggressive after the break and fought their way back into the game, but struggled for creativity in the final third. Gladbach still posed a threat on the counter, with Jonas Hofmann, Thorgan Hazard and Denis Zakaria all excellent in midfield. Hofmann hit the post as Dieter Hecking's charges wrestled control of proceedings once more and they killed the game off in the closing stages when substitute Patrick Herrmann finished from Oscar Wendt's cross. Breel Embolo's superb long-distance strike in stoppage time was no more than a consolation for the visitors, who remain winless this season.
- Gladbach have made their best start to a season since 2011/12 when they had seven points and a 6-2 goal difference after three matches.
- Ginter's strike was the fastest goal Gladbach have scored since Wendt netted in the first minute against Borussia Dortmund on 11 April 2015.
- All three Bundesliga goals Ginter has scored in 2018 have come from corners.
- Herrmann's goal was his first since scoring in a 3-0 win over Freiburg on 4 February 2017. He had since gone 35 Bundesliga games without finding the net.
- Schalke's last win at Borussia-Park came on 3 May 2013 when Julian Draxler scored the only goal of the game.
- Ralf Fährmann has conceded 16 goals and picked up just a point from his last six Bundesliga games in Gladbach.
Gladbach: Sommer (c) – Elvedi, Ginter, Jantschke, Wendt – Strobl, Zakaria (Kramer 72') – Hazard, Hofmann, Johnson (Herrmann 67') – Plea (Neuhaus 86')
Unused subs: Sippel, Beyer, Traore, Cuisance
Absentees: Bennetts (thigh), Lang (knee), Stindl (ankle), Villalba (muscular), Drmic, Doucoure (both fitness)
Coach: Dieter Hecking
Schalke: Fährmann (c) – Sane, Naldo, Nastasic – Caligiuri, Rudy, Bentaleb, Mendyl (Schöpf 25')– Di Santo (Embolo 67'), Uth – Burgstaller (Teuchert 67)
Unused subs: Nübel, Serdar, Baba, Harit
Absentees: Konoplyanka (suspended), Mascarell (muscular), Oczipka (hernia), Riether (knie), Stambouli (ankle), McKennie (knee)
Coach: Domenico Tedesco
Watch: Johnson says training has paid off for Gladbach!