Two brilliant finishes from Andy Johnson helped Fulham defeat Wisla Krakow in the Europa League.
Damien Duff drove in Johnson's cross early on, but Andraz Kirm soon fired in a deflected equaliser.
Johnson made it 2-1 with a stunning volley and then scored with a lofted finish after Bobby Zamora's flick.
Steve Sidwell lashed in a late fourth as second-placed Fulham secured a win that puts them four points clear of Odense BK and Wisla in Group K.
Johnson showed exceptional technique for his opening goal as he finished first-time on the turn, while the Cottagers turned on the style with their first and third goals, which both came from pretty and intelligent one-touch football, Zamora delivering neat touches in the build-up on each occasion.
The result allowed Fulham to gain revenge for their 1-0 defeat in October's reverse fixture, when they had Moussa Dembele controversially sent off.
It was an ambitious start from both sides and the first chance fell to Fulham as Duff forced an excellent save from Sergei Pareiko with a curling 15-yard effort.
But it did not take the winger long to get on the scoresheet, meeting Johnson's pull-back with a low first-time strike from just inside the 18-yard box.
Wisla quickly levelled after Dickson Etuhu gave possession away, allowing David Biton to surge forward and drill the ball into the Fulham penalty area.
The danger was not cleared and Lukasz Gargula knocked the ball back for Kirm to strike with the assistance of a deflection.
Fulham thought they had restored their lead almost straight away in a breathless first period when Pareiko parried a Duff shot, but Johnson was ruled offside as he knocked in the rebound.
However, Johnson was soon celebrating after he met Danny Murphy's delivery from the right with his superb finish from 15 yards.
FULHAM'S EUROPEAN FORTRESS
- Fulham are unbeaten in 22 home European matches including 17 wins and 5 draws, stretching back to a 0-0 draw against FC Haka on 6 July 2002
Clint Dempsey nearly added a third just before half-time with a determined run and chip over Pareiko, only to see his effort hit the crossbar.
Wisla made a bright start to the second half and Fulham keeper Mark Schwarzer was twice called into action, first saving Gervasio Nunez's deflected 20-yard effort and then smothering Gargula's free-kick.
But Fulham soon had the cushion of a third goal after more outstanding build-up play.
From a well-planned free-kick, Murphy played a diagonal pass to Zamora, close to the penalty spot, and he flicked the ball ahead for Johnson, who dinked it over Pareiko.
The scoring was completed when Sidwell met Duff's cross with a header from six yards out and, although his first effort came back off the bar, he lashed home the rebound.
Kew Jaliens saw a header rebound off a post for the visitors but they were out of the contest - and Pajtim Kasami almost made it 5-1 late on, but Pareiko kept out his close-range header.
Fulham manager Martin Jol: "The second goal was amazing and the third was a clever one. If you could come up with ideas like that every week, you would be like Real Madrid in the golden days.
"You could say we were very efficient because normally we create eight or nine chances and we score one goal and today we were different.
"Johnson for England? If you keep on scoring everyone says you should be in the England team but, for me, as a second striker he is one of the better ones."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +0:02
Unfair challenge on Andraz Kirm by Dickson Etuhu results in a free kick. Dragan Paljic restarts play with the free kick.89:16
The ball is delivered by Damien Duff, Pajtim Kasami takes a shot. Sergei Pareiko makes a save.87:34
Dickson Etuhu takes the direct free kick.87:34 Substitution
Substitution Dudu Biton goes off and Marko Jovanovic comes on.87:34
Tsvetan Genkov gives away a free kick for an unfair challenge on Steve Sidwell.86:58
Pajtim Kasami challenges Ivica Illiev unfairly and gives away a free kick. Direct free kick taken by Dragan Paljic.86:40
Steve Sidwell takes a shot.86:10
Corner taken left-footed by Damien Duff from the right by-line, Sergei Pareiko manages to make a clearance.84:51
Corner taken right-footed by Ivica Illiev, Shot from close range by Tsvetan Genkov misses to the left of the goal.83:52
Dudu Biton takes a shot. Blocked by Stephen Kelly.81:32
Steve Sidwell fouled by Tsvetan Genkov, the ref awards a free kick. Brede Hangeland takes the direct free kick.80:41
Chris Baird gives away a free kick for an unfair challenge on Tsvetan Genkov. Dragan Paljic restarts play with the free kick.79:59
Unfair challenge on Cezary Wilk by Steve Sidwell results in a free kick. Andraz Kirm restarts play with the free kick, Kew Jaliens has a headed effort at goal from close in that bounces off the post.78:59
Assist by Damien Duff.78:59 Goal scored
Goal! - Steve Sidwell - Fulham 4 - 1 W Krakow Steve Sidwell scores a goal from inside the six-yard box low into the middle of the goal. Fulham 4-1 Wisla Krakow.78:12
Corner taken left-footed by Damien Duff to the near post, clearance by Cezary Wilk.76:54
Michael Lamey has an effort at goal from a long way out that goes wide of the right-hand post.76:28
The ball is sent over by Michael Lamey.75:45 Substitution
Substitution Pajtim Kasami joins the action as a substitute, replacing Andrew Johnson.
Centre by Andraz Kirm, Stephen Kelly makes a clearance.74:14
Dragan Paljic produces a right-footed shot from just outside the area that goes harmlessly over the bar.73:17
Cezary Wilk gives away a free kick for an unfair challenge on Clint Dempsey. Chris Baird takes the direct free kick.71:31
Mark Schwarzer takes the free kick.71:31 Substitution
Substitution Bobby Zamora goes off and Kerim Frei comes on.71:31
The referee blows for offside against Tsvetan Genkov.70:30
Andraz Kirm crosses the ball, Header by Tsvetan Genkov from deep inside the penalty area misses to the left of the goal.68:01
Stephen Kelly produces a cross, Michael Lamey makes a clearance.67:05
Free kick awarded for an unfair challenge on Gervasio Nunez by Bobby Zamora. Direct free kick taken by Dragan Paljic.65:35
Steve Sidwell takes the direct free kick, Bobby Zamora produces a left-footed shot from just outside the box that misses to the right of the target.65:35 Booking
Booking Junior Diaz receives a yellow card.64:46
Free kick taken by Dragan Paljic. Junior Diaz concedes a free kick for a foul on Bobby Zamora.64:46 Booking
Booking Dickson Etuhu goes into the book for unsporting behaviour.64:35
Unfair challenge on Gervasio Nunez by Dickson Etuhu results in a free kick.63:49
Steve Sidwell concedes a free kick for a foul on Dudu Biton. Direct free kick taken by Dragan Paljic.62:32 Substitution
Substitution Danny Murphy goes off and Steve Sidwell comes on.62:32
Clint Dempsey produces a right-footed shot from just outside the box that misses to the right of the goal.61:18
Michael Lamey concedes a free kick for a foul on Clint Dempsey. Free kick taken by Danny Murphy.59:41
Chris Baird takes the free kick.59:41 Substitution
Substitution Tsvetan Genkov replaces Lukasz Gargula.59:41 Substitution
Substitution Ivica Illiev is brought on as a substitute for Daniel Brud.59:41
Free kick awarded for an unfair challenge on Bobby Zamora by Dragan Paljic.58:33
Junior Diaz gives away a free kick for an unfair challenge on Bobby Zamora. Danny Murphy restarts play with the free kick.56:53
Assist on the goal came from Danny Murphy.56:53 Goal scored
Goal! - Andrew Johnson - Fulham 3 - 1 W Krakow Andrew Johnson fires in a goal from close in to the bottom right corner of the goal. Fulham 3-1 Wisla Krakow.55:58
Unfair challenge on Andrew Johnson by Dragan Paljic results in a free kick.55:22
Danny Murphy takes the direct free kick,55:22 Booking
Booking Dragan Paljic receives a yellow card.54:07
Dickson Etuhu concedes a free kick for a foul on Lukasz Gargula. Direct free kick taken by Gervasio Nunez, Lukasz Gargula takes a shot. Mark Schwarzer makes a comfortable save.53:35
Centre by Dragan Paljic, Headed effort from the edge of the area by Dudu Biton goes wide of the right-hand post.52:52
Damien Duff takes a shot. Comfortable save by Sergei Pareiko.51:59
Lukasz Gargula takes a shot. Save by Mark Schwarzer.48:08
Gervasio Nunez takes a shot. Andraz Kirm takes a short corner. Save by Mark Schwarzer.46:46
Damien Duff concedes a free kick for a foul on Gervasio Nunez. Free kick taken by Dragan Paljic.45:39
Gervasio Nunez fouled by Stephen Kelly, the ref awards a free kick. Dragan Paljic takes the direct free kick.45:01
The referee starts the second half.45:00 +2:08 Half time
Half Time The referee blows for half time.45:00 +1:23
Dudu Biton takes a shot. Save by Mark Schwarzer.45:00 +0:46
Andraz Kirm gives away a free kick for an unfair challenge on Clint Dempsey. John Arne Riise takes the direct free kick.45:00 +0:24
Andraz Kirm crosses the ball, blocked by Brede Hangeland.44:39
Dudu Biton concedes a free kick for a foul on Chris Baird. Direct free kick taken by Chris Baird.44:23
Michael Lamey crosses the ball.43:13 Booking
Booking Kew Jaliens receives a yellow card for unsporting behaviour.42:55 Booking
Booking Bobby Zamora is cautioned.41:30
Clint Dempsey takes a shot.40:55
Cezary Wilk gives away a free kick for an unfair challenge on Clint Dempsey. Danny Murphy takes the free kick.39:19
Shot by Damien Duff from outside the box goes over the target.38:09
Unfair challenge on Stephen Kelly by Gervasio Nunez results in a free kick. Danny Murphy takes the direct free kick.37:02
The offside flag is raised against Andraz Kirm. Mark Schwarzer restarts play with the free kick.36:05
Michael Lamey fouled by John Arne Riise, the ref awards a free kick. Gervasio Nunez produces a shot on goal direct from the free kick, Brede Hangeland manages to make a clearance.34:43
The referee blows for offside against Dudu Biton. Indirect free kick taken by Brede Hangeland.33:58
Andraz Kirm takes a shot. Comfortable save by Mark Schwarzer.32:53
Andraz Kirm produces a cross, Brede Hangeland manages to make a clearance.31:48
Michael Lamey takes a shot from deep inside the box clearing the bar.29:13
Assist by Danny Murphy.29:13 Goal scored
Goal! - Andrew Johnson - Fulham 2 - 1 W Krakow Andrew Johnson finds the back of the net with a goal from inside the penalty area to the top right corner of the goal. Fulham 2-1 Wisla Krakow.28:26
Outswinging corner taken by Damien Duff from the left by-line played to the near post, Kew Jaliens manages to make a clearance. Corner from the right by-line taken by Danny Murphy,28:00
The ball is swung over by Damien Duff.27:44
The ball is swung over by Stephen Kelly.26:14
Dudu Biton concedes a free kick for a foul on Chris Baird. Direct free kick taken by Chris Baird.23:39
Free kick awarded for a foul by Andrew Johnson on Kew Jaliens. Kew Jaliens restarts play with the free kick.22:49
Free kick awarded for an unfair challenge on Gervasio Nunez by Bobby Zamora. Cezary Wilk takes the direct free kick.21:57
Free kick awarded for a foul by Dickson Etuhu on Cezary Wilk. Junior Diaz takes the free kick.21:18
The ball is delivered by Gervasio Nunez, John Arne Riise manages to make a clearance.20:26
Foul by Dragan Paljic on Stephen Kelly, free kick awarded. Free kick taken by Chris Baird.19:06
The ball is crossed by Michael Lamey, Stephen Kelly makes a clearance.16:49
Clint Dempsey has a shot on goal from outside the area which misses right.12:49
Corner taken by Andrew Johnson, Headed effort from deep inside the area by Clint Dempsey misses to the left of the goal.12:41
Centre by Andrew Johnson, Junior Diaz manages to make a clearance.10:20
The referee blows for offside against Andrew Johnson. Free kick taken by Sergei Pareiko.8:38
Assist by Dudu Biton.8:38 Goal scored
Goal! - Andraz Kirm - Fulham 1 - 1 W Krakow A goal is scored by Andraz Kirm from just inside the penalty area to the bottom right corner of the goal. Fulham 1-1 Wisla Krakow.6:06
Dudu Biton has an effort at goal from outside the penalty box missing to the wide left of the goal.4:16
The assist for the goal came from Andrew Johnson.4:16 Goal scored
Goal! - Damien Duff - Fulham 1 - 0 W Krakow Damien Duff scores a goal from deep inside the penalty box to the top left corner of the goal. Fulham 1-0 Wisla Krakow.3:33
A cross is delivered by Andraz Kirm, clearance by Chris Baird.2:09
The ball is sent over by John Arne Riise, Damien Duff takes a shot. Save by Mark Schwarzer.1:40
The referee blows for offside against Andrew Johnson. Free kick taken by Sergei Pareiko.0:28
Lukasz Gargula has an effort at goal from outside the penalty area missing to the wide left of the goal.0:00
The referee gets the match started.
Live data and text provided by our data suppliers