Blackburn Rovers gained a place in the Intertoto Cup as Reading just missed out on Uefa Cup qualification.
McCarthy has scored 18 league goals for Blackburn
Reading lost keeper Marcus Hahnemann after he was injured in the build up to Benni McCarthy scoring the first goal.
Reading equalised when Seol Ki-Hyeon headed in a corner, before David Bentley's tap-in restored Rovers' lead.
Kevin Doyle then equalised with a fine header, Matt Derbyshire nodded home to put Rovers 3-2 ahead, only for Brynjar Gunnarsson to thump in a raking shot.
Each side had a goal disallowed for offside and at times tempers flared, notably between Tugay and Stephen Hunt.
Reading's bid for Europe might have been stymied at the last, but Steve Coppell's side can reflect on a highly impressive campaign in their first season in the Premiership.
This performance encapsulated all the attributes that have seen them adjust almost effortlessly to the rigours of the Premiership as they allied unstinting commitment to some neat football.
Reading won four corners in the opening 15 minutes and from two of them Nicky Shorey went close with long-range efforts.
From the first corner the ball broke to Shorey on the edge of the box and his superbly executed volley went narrowly wide.
Shorey continued to loiter on the edge of the penalty area at corners, and when the ball broke to him for a second time he struck a low shot that richocheted off the base of the post.
That incident served as a wake-up call to Blackburn and the home side were soon ahead.
Hahnemann came to meet Morten Gamst Pedersen's cross, but so did Shabani Nonda, and when the ball broke to McCarthy he had the simplest task of tapping home to score his 18th Premiership goal of the season.
Hahnemann - suffering from a reported fractured hand - had to be replaced by substitute goalkeeper Adam Federici.
Blackburn failed to learn their lesson of the danger Reading poised from set-pieces and on 36 minutes the visitors drew level from a corner.
Hunt swung over the ball to the far past, where Seol arrived - just ahead of Nonda - to thump a header past Brad Friedel.
Early in the second half Seol turned creator, sending Hunt clear, but the Republic of Ireland international miscued dreadfully with his final shot.
Reading were soon to be punished for that miss when Bentley restored Blackburn's lead.
Stephen Warnock scurried his way into the Reading box before sending over a low cross.
Pedersen was first to the cross, but his effort hit the post, though once more the richochet fell kindly for Blackburn and Bentley tapped the ball in.
But Blackburn's lead lasted barely three minutes as Doyle glanced a header past Friedel after Ulises De La Cruz crossed from the right.
Rovers manager Mark Hughes threw on Derbyshire midway through the second half and within a minute of his introduction the youngster had put the home side ahead for a third time.
Brett Emerton broke down the right wing and his cross found Derbyshire, who beat Federici with a diving header.
Reading responded magnificently and Gunnarsson's low shot gave them a deserved point.
Blackburn boss Mark Hughes on Benni McCarthy:
"I am as confident as I can be he will be here next season.
"I keep trying to emphasise we are not a selling club. If we allowed Benni McCarthy to leave we would be weaker.
"He has had a fantastic season and it could not have gone better for him."
Reading manger Steve Coppell:
"The players have probably more drive than me and keep pushing forward. Today was a case in point.
"We came back three times, it was like a cup semi-final. What an advertisement it was for English football.
"We've got to be delighted with our season - we're not in Europe but just to hit the post and come out, as it were, is a significant achievement."
Blackburn: Friedel, Emerton, Samba, Nelsen, Warnock, Bentley, Kerimoglu (Dunn 69), Mokoena, Pedersen, Nonda (Derbyshire 66), McCarthy.
Subs Not Used: Brown, Henchoz, Treacy.
Booked: Samba, McCarthy.
Goals: McCarthy 21, Bentley 56, Derbyshire 67.
Reading: Hahnemann (Federici 23), De la Cruz, Duberry, Ingimarsson, Shorey, Ki-Hyeon, Harper, Gunnarsson, Hunt (Oster 70), Long (Lita 66), Doyle.
Subs Not Used: Kitson, Bikey.
Goals: Ki-Hyeon 36, Doyle 58, Gunnarsson 77.
Ref: A Wiley (Staffordshire).