Irish trailed 20-10 early in the second half but produced a strong performance after the break to stun their visitors who had looked in control of match.
Andy Fenby scored two tries while Marland Yarde also went over for the Exiles with James O'Connor kicking a penalty and and two conversions.
O'Connor also provided two scoring passes and Irish's win would have been greater had he been more accurate off the kicking tee.
Sale scored first-half tries through Mark Easter and Tom Arscott with Joe Ford kicking two penalties and two conversions.
Irish included the exiting Yarde and O'Connor for their final games for the club while Shane Geraghty returned at fly-half to captain the side.
For Sale, Henry Thomas and James Gaskell were in the starting line-up for their last appearances before departing for Bath and Wasps respectively.
Danny Cipriani rested a foot injury so Ford was at stand-off to partner Will Cliff and David Seymour led the team in the absence of injured captain Dan Braid.
Sale started strongly, winning a couple of penalties to secure a platform in the home 22. A driving line-out put Irish on the back foot allowing Easter to crash over for the try which Ford converted.
But Irish were level within two minutes. Ofisa Treviranus ran powerfully to open up the Sale defence before a well-timed pass from O'Connor gave Fenby the chance to evade a weak tackle from Arscott and race away to score. O'Connor added the extras.
Irish had the better of the opening quarter and should have been ahead at the end of it but O'Connor was wide with a straightforward penalty attempt.
Sale regained the lead against the run of play as Irish carelessly lost possession. Cliff made a neat break to send Jonny Leota into space before the centre provided the scoring pass for Arscott.
Ford converted before he exchanged penalties with O'Connor to leave Sale 17-10 ahead at half-time.
Ford then extended that advantage with his second penalty before Sale carelessly conceded a second try.
The visitors lost a line-out on halfway, giving the hosts an opportunity to attack, and they moved the ball wide before another well-timed pass from O'Connor gave Yarde a chance to cruise past more weak tackling from Sale.
O'Connor converted with a splendid touchline kick to further reduce the arrears.
An illegal shoulder charge from Exiles replacement prop Tom Smallbone on Arscott allowed Sale to take play into the opposition 22 but the visitors were unable to take advantage as they declined kickable penalties in favour of more attacking options which came to nothing.
Sale were then made to pay as Irish burst away with Treviranus and Yarde making big contributions to a movement which ended with Fenby running elusively for an excellent try.
O'Connor failed with the simple conversion but Irish led 22-20 with 15 minutes remaining.
Sale should have been back in front but replacement Nick Macloed missed a kickable penalty and Sale's chance had gone.
O'Connor missed two late penalty chances but Irish had done enough to claim the win.
- Sports & Recreation
- Marland Yarde
- Tom Arscott