Bolton made the most of their numerical advantage to remain on course for European football next season.
Claus Jensen was sent-off for deliberately handling Bruno N'Gotty's header after just 12 minutes.
Jay-Jay Okocha converted the subsequent penalty and Kevin Nolan doubled Bolton's lead with a header.
Luis Boa Morte pulled a goal back for Fulham at the far post but Stelios Giannakopoulos superbly converted Nolan's through ball.
Fulham boss Chris Coleman was incensed by referee Dermot Gallagher's decision to dismiss Jensen.
N'Gotty headed Giannakopoulos' corner goalwards from eight yards after he appeared to have pulled his marker, Brian McBride, to the floor.
The ball skidded off the wet pitch and struck Jensen against the arm as he tried to protect the near post.
Several Fulham players angrily protested Gallagher's decision, with Liam Rosenior booked for his trouble.
Okocha sent Van der Sar the wrong way with his penalty to compound Fulham's misery - though it could have been worse had the Cottagers' keeper not made a brilliant save shortly afterwards to deny Nolan.
The Bolton midfielder appeared to have hooked a long ball forward over Van der Sar, but the Fulham keeper scrambled backwards and tipped the ball over his crossbar.
Gary Speed slipped at the crucial moment and Okocha drove wide from range as Bolton pushed for a second.
But it finally came when Kevin Davies knocked the ball in to the danger zone, with Nolan heading past Van der Sar.
Fulham rallied at the start of the second half, with Boa Morte scoring at the far post after a teasing low ball across the face of goal by Andy Cole.
But Giannakopoulos made a brilliantly-timed run from the right flank to collect Nolan's incisive pass before dinking the ball past Van der Sar to restore Bolton's two-goal advantage.
Bolton appealed for another penalty after the ball appealed to strike Zat Knight's arm but this time Gallagher waved away their appeals.
And Fulham almost scored, Jussi Jaaskelainen made a sharp save to thwart Boa Morte from four yards.
Bolton manager Sam Allardyce:
"We showed great patience to break 10-man Fulham down. In the end a 3-1 victory was a very good result for us.
"We are back in the hunt and must try to keep winning. Nothing less than a place in Europe will do now.
"There is big pressure in a town as small as Bolton but most players here have seen it all before."
Fulham assistant boss Steve Kean (on Claus Jensen's red card):
"We are disappointed with the decision. Claus is a very honest player and there was no intent.
"The ball clipped his arm after it had struck his chest. We see it as ball to hand rather than hand to ball and we are disappointed at the decision.
"And we felt it was a foul on Brian McBride by Bruno N'Gotty first of all."
Bolton: Jaaskelainen, Hunt, N'Gotty, Ben Haim, Candela (Gardner 84), Hierro (Fadiga 84), Nolan, Okocha, Speed, Giannakopoulos, Davies.
Subs Not Used: Poole, Pedersen, Jaidi.
Goals: Okocha 13 pen, Nolan 33, Giannakopoulos 54.
Fulham: Van der Sar, Volz, Goma, Knight, Rosenior, Malbranque (Radzinski 80), Clark, Jensen, Boa Morte, McBride, Cole (John 82).
Subs Not Used: Bocanegra, Pembridge, Crossley.
Sent Off: Jensen (12).
Booked: Rosenior, Boa Morte.
Goals: Boa Morte 47.
Ref: D Gallagher (Oxfordshire).