Claudio Pizarro scored the first goal in the 10th minute but this was the only time the Germans were going to lead in this match.
Mark Hughes' men equalised when Bobby Zamora sidefooted the ball into the back of the net.
Zoltan Gera replaced Clint Dempsey on 61 minutes and just four minutes later gave Fulham the lead with a stunning drive.
Zamora's cross to Gera on 71 minutes resulted in another great goal with the Hungarian heading the ball home.
Gera went on to get a hat trick five minutes later when he strook the ball into an unguarded net.
Eddie Johnson got the last goal, four minutes from the end after Gera's through ball.