Borussia Dortmund remain hot on the heels of Bundesliga leaders Bayern Munich after a thrilling 3-2 victory over Schalke in the 147th Revierderby.