Dortmund did break the deadlock after 35 minutes when Marco Reus calmly finished through Ter Stegen's legs to give the hosts a 1-0 lead over his former club.
This lead was doubled five minutes before half time when Subotic headed in Jakub Blaszczykowski's cross after a corner was eventually worked into the box.
Reus got his second of the match after 70 minutes with an exquisite chip over the keeper, having picked up a loose ball.
Less than ten minutes later Ilkay Gundogan extended the hosts' lead even further when he latched on to a pull-back to fire in his first goal of the season.
Blaszczykowski put the icing on the cake for Dortmund five minutes from time, lofting the ball into the top corner after Gundogan's pass to complete the rout.