After tightly-contested 90 minutes the Ruhr derby had to be decided from the spot, with the hosts claiming the victory in the end
The game got off to an exciting start as Borussia Dortmund created its first real chance just five minutes after the start. Ilkay Gundogan took a corner kick on the right and his cross found Robert Lewandowski in the penalty box, who in turn hit the post with a header from seven yards out.
Schalke's answer came ten minutes later when Benedikt Howedes headed over the bar from close range after managing to squeeze past Mats Hummels and Felipe Santana. The Bundesliga champions slowly began to take control of the game, creating two great chances just before the half-hour mark.
First Chris Lowe went close with a fine shot from the left side of the box, following a delightful one-two with Shinji Kagawa, and then Gundogan tried his luck from 15 yards out, but Schalke goalkeeper Ralf Fahrmann stood strong to parry his shot.
Dortmund's new signing disappointed once again in the 34th minute when he saw a finish from eight yards out blocked by Howedes. Jurgen Klopp's men got their best chance of the first period moments before the half-time whistle when Robert Lewandowski was denied by Fahrmann in a one-on-one.
The second half picked up where the first ended with Lewandowski once again the villain for the Bundesliga champions. The Polish striker was released by Mario Gotze with a delightful through ball, but finished just wide with only the goalkeeper to beat.
The Royal Blues were forced to defend deep in the following minutes, and had Howedes to thank in the 57th minute when the center back somehow managed to clear a pass across goal from Kagawa just ahead of Lewandowski.
Gotze missed a glorious chance moments later when he failed to beat Fahrmann with a low finish from outside the box. Schalke started to pick themselves up and threatened to open the scoring through Holtby and substitute Jan Moravek, but both players failed to put the ball past Roman Weidenfeller.
Despite the two teams' best efforts to find a goal, the scoreline remained unchanged, meaning the game had to be decided on penalties.
Kevin Grosskreutz and Ivan Perisic missed from the spot for Dortmund to hand Schalke its first trophy of the season.