Mario Mandzukic and Arjen Robben gave Bayern a 2-0 lead inside 35 minutes before Diego pulled a goal back for the Wolves after 45 minutes.
Xherdan Shaqiri made it 3-1 five minutes after the re-start before Gomez struck three times inside the final 10 minutes to add gloss to the scoreline.
Bayern's opponents in the June 1 final in Berlin will be decided tomorrow night, when Stuttgart and Freiburg meet in the other last-four tie.
Bayern took the lead in the 17th minute as Shaqiri fed Robben and his cross from the right was turned in by Mandzukic.
The lead was out to two goals in the 35th minute as Alexander Madlung's misplaced pass to Slobodan Medojevic ran through to Shaqiri, who played in Robben to drill home a first-time effort.
Wolfsburg pulled a goal back just before the break as Diego struck from 20 yards, but Bayern wasted no time regaining control with Shaqiri striking low into the right corner after 50 minutes.
Bayern added a fourth in the 80th minute as Shaqiri fed Gomez for an easy finish, while the Germany international added a second three minutes later after being played in by Bastian Schweinsteiger.
Gomez completed his hat-trick in the 86th minute, again receiving the ball from Schweinsteiger and running through to score.