Gordon Ross kicked 19 points as London Welsh condemned Sale to their fourth successive defeat.
The visitors dominated the first half and led 23-9 thanks to tries from Jon Mills and Ed Jackson, and five successful kicks from Ross.
Three Danny Cipriani penalties were the sum of Sale's reply.
Ross added six points after the break, while the hosts put on a better second-half display with Tom Brady's try and five points from Nick Macleod's boot.
The first try of the game went to London Welsh when Mills pounced in the eighth minute after slack play from the hosts, while Jackson went over for his second try in as many matches 30 minutes later.
Sale's only try came through the skill of Brady, who broke through one tackle before touching down.
VIEWS FROM THE DRESSING ROOM:
Sale director of rugby Bryan Redpath: "You can't hide behind that performance because, as a group, it wasn't good enough.
"It let a lot of people down that came along tonight. We really need to look hard in the mirror and see why that happened tonight as that wasn't acceptable at all.
"I apologise to every Sale supporter. They pay good money to watch and I will be doing my utmost to rectify that."
London Welsh head coach Lyn Jones: "We got caught with our pants well down against Leicester and Quins, but we've learnt and we've come back.
"If you had asked me two weeks ago if we would have settled for a losing bonus-point at Sale, I would have bitten your hand off.
"Today's a good day for us, as last week was, but you know and I know that next week could be a bad day, so we've just got to keep on improving."
Sale: Miller; Brady, Leota, Tuitupou, Cueto; Cipriani, Peel; Lewis-Roberts, Ward, Cobilas; Gray, Myall; Easter, Seymour (capt), Powell.
Replacements: MacLeod for Cipriani (52), Cliff for Peel (65), Harrison for Roberts (78), Buckley for Cobilas (53), McKenzie for Myall (60), Vernon for Easter (71). Not Used: Taylor, Uys.
London Welsh: Arscott; Mackenzie, Parker, Tonga'uiha, Scott; Ross, Keats; Montanella, Briggs, Ion; Mills (capt), Corker; Browne, Hills, Jackson.
Replacements: Jewell for Mackenzie (70), Runciman for Keats (75), Bristow for Montanella (65), Jolly for Ion (67), Kulemin for Mills (45), Williamson for Hills (65). Not Used: George, Davis.
Referee: Andrew Small (RFU).