Having been held to a goalless draw in the first leg, Bayern went into the return meeting of the last 16 clash with work to do.
But they were given a significant helping hand in the third minute when Shakhtar defender Olexandr Kucher was shown a straight red card - the quickest in Champions League history - for a foul on Mario Gotze.
Thomas Muller stepped up to convert the resulting penalty and from there it was little more than a procession for the Bundesliga champions.
Jerome Boateng doubled the lead in the 34th minute with a close-range effort before Bayern found another gear in the second half.
Franck Ribery capped off a well-worked move to make it 3-0 in the 49th minute, with a second from Muller, a Holger Badstuber header, a Robert Lewandowski strike and Gotze's effort putting the gloss on the victory on a night where injuries to Arjen Robben and Ribery were the only concerns for the hosts.
Kucher's rash challenge on Gotze and subsequent dismissal immediately gave Shakhtar a mountain to climb, with Muller making no mistake with his fourth-minute spot-kick as he stepped up and coolly slotted the ball into the bottom-left corner.
Bayern would have made it two had Robben been able to connect with Lewandowski's pull-back with the goal at his mercy.
Sensing the prospect of being overrun by the extra man, Shakhtar coach Mircea Lucescu made a defensive change as Sergey Krivtsov replaced winger Taison in the ninth minute.
Robben was then brought off and replaced by Sebastian Rode because of a trapped nerve, but Bayern continued to enjoy almost complete domination and were initially denied a second by the woodwork.
Lewandowski struck the upright with a header from Rafinha's right-wing cross, but Bayern's constant pressure told as Boateng bundled the ball home at the far post after the Pole had been denied from point-blank range.
And any slim hope of a Shakhtar comeback was extinguished four minutes after the restart by quick goals from Ribery and Muller.
Ribery found the bottom-right corner with a low effort following a neat one-two with Boateng and then saw his left-wing pull back deflect off a Shakhtar defender and into the path of Muller to roll his second into an unguarded net in the 53rd minute.
France winger Ribery hobbled off just before the hour mark and his replacement Juan Bernat almost found the net as he forced the busy Andriy Pyatov into another save.
But Pyatov could not keep out Badstuber's near-post header from Rafinha's corner in the 63rd minute and was left helpless as Lewandowksi raced through 12 minutes later to make it six.
Gotze swept home a seventh three minutes from time, rounding off a frightening demonstration of Bayern's ruthlessness against depleted and inferior opposition.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.