Steed Malbranque led Fulham to a pulsating win at Ewood Park that saw both sides finish with 10 men.
Blackburn led after six minutes when Brett Emerton set up Lucas Neill for a rare goal, but Lee Clark set up Malbranque to sidefoot an equaliser.
Brian McBride fired Fulham back in front before Robbie Savage had a penalty saved by Edwin van der Sar.
Craig Short and Liam Rosenior were sent off for retaliating as the game got ugly before Malbranque secured the win.
Both sides went into the game with their Premiership safety already secured and little to play for other than the financial incentive of climbing a few league places.
The home side started brightly and opened the scoring after six minutes through the Australian combination of Emerton and Neill.
Emerton found his international team-mate down the right wing and the full-back cut inside Mark Pembridge before confidently sidefooting past Van der Sar.
It was a sweet finish by the defender to open his account for the season and notch his first for Blackburn since December 2003.
Fulham boss Chris Coleman was determined for his side to finish the season on a high after they capitulated at home to Newcastle.
They got on level terms through Malbranque after 20 minutes.
Clark ran on to a lobbed pass over the top, Rovers keeper Brad Friedel opted to stay on his line and the midfielder pulled it back for Malbranque to sidefoot in.
The first half was a largely scrappy affair with neither midfield able to get a grip and the flow of the game not helped by a succession of offsides from Rovers.
The game exploded into life in the second half.
Zat Knight had a goal disallowed for climbing all over the back of Short but Fulham did not have to wait long to take the lead.
A Pembridge corner found McBride unmarked at the back post and he had time to control the ball on his chest before firing home.
Emerton hit the outside of the post as Blackburn pressed for a leveller.
Savage missed a glorious chance to equalise when he had a penalty brilliantly saved by Van der Sar after Boa Morte was adjudged to have pulled down Morten Gamst Pederson in the box.
Short became the first to go off for retaliation when he pushed Boa Morte to the ground after the Fulham striker had gone in late on Ryan Nelson.
Boa Morte was yellow carded for the challenge but the referee showed Short a straight red after consulting his linesman.
A minute later and Rosenior followed Short down the tunnel.
Boa Morte got the ball down the left and Savage went in with a high tackle, which Rosenior reacted to by pushing the Rovers midfielder to the floor.
Referee Phil Dowd had no option but to send the youngster off.
Boa Morte, who was booed at every touch by Rovers fans after the two incidents, began the move that led to Fulham's third when he fed Malbranque.
The Frenchman exchanged passes with Clark before beating Friedel with the outside of his right foot.
Blackburn boss Mark Hughes:
"We're disappointed with the result but we had a number of chances to put it beyond them.
"We had a bright start, got our noses in front but we allowed them back in the game with a poor goal.
"But we can't beat ourselves up. Overall we've got to be delighted with the season we've had - it's been a huge effort by everybody."
Fulham boss Chris Coleman:
"It was a silly thing for Liam to do. He's showed his inexperience. It is a shame because he's going to be a very good player.
"It could have cost us but we adapted better than Blackburn and that's why we won the game.
"I thought it was a great encounter, both sides played with passion and we are delighted with the win."
Blackburn: Friedel, Neill, Short, Nelsen, Johansson, Mokoena (Tugay 67), Emerton, Savage, Reid (Thompson 32), Pedersen (Derbyshire 82), Stead.
Subs Not Used: Enckelman, Taylor.
Sent Off: Short (69).
Booked: Neill, Stead.
Goals: Neill 6.
Fulham: Van der Sar, Volz, Knight, Goma, Rosenior, Radzinski, Malbranque, Pembridge, Clark, Boa Morte, McBride.
Subs Not Used: Bocanegra, Crossley, Rehman, Timlin, Pearce.
Sent Off: Rosenior (70).
Booked: Boa Morte, Pembridge.
Goals: Malbranque 20, McBride 53, Malbranque 77.
Ref: P Dowd (Staffordshire).