Sharks didn't recover from the shock, trailing 9-23 at half time and eventually being denied the solace of a losing bonus point when Ross kicked a penalty with the timer showing zero.
The visiting fly half had opened the scoring in the first minute after Sharks strayed offside. Using simple but effective 'pick and go' tactics, the Welsh were back raiding the home line three minutes later, driving their captain Mills over for a try, Ross converting.
Cipriani missed a chance of an instant reply, but Ross was again on the mark with a tenth minute penalty.
After their atrocious start, Sharks came more into the game, with forceful runs from Lewis-Roberts, Powell and Gray. It became the Welsh's turn to infringe, allowing Cipriani to send over three penalties within an eight-minute spell to reduce the gap to only four points.
An infringement at the breakdown gave Ross another penalty chance on 28 minutes, which he accepted. Arscott followed with a bright run six minutes later initially stopped by Easter, but play switched left and the visitors were camped under the posts. Jackson claimed a try and Ross converted.
Another series of Shark attacks followed, featuring Powell and Lewis-Roberts, but knock ons twice halted progress and the half ended with London Welsh 23-9 ahead.
Eight minutes into the second half, Ross kicked the fourth of his five penalties after the Sharks had infringed at a scrum.
The introduction of replacements Macleod and Buckley had a noticeable effect, but no scoring ensued despite heavy pressure.
Just before the hour, the Sharks' efforts bore fruit when Brady went over on the left. In the build up, there had been almost five minutes of forward bombardment. Macleod converted.
Brady was soon running the ball out of defence, then producing a timely interception after a dangerous Tonga'uiha run. A Macleod penalty ten minutes from time left the Sharks just seven points behind, but the Welsh took the ball into the home 22 and continued the 'pick and go' tactics.
When the Sharks eventually had some time on the ball, they were restricted to the central areas of the pitch. With 20 seconds left, Sharks conceded a penalty at scrum time, which Ross duly kicked to take the losing bonus point away from the home side.
"There weren't any plus marks really as most of our game wasn't up to speed," said Sharks' Director of Rugby Bryan Redpath after the match.
"You can't hide behind that performance tonight because, as a group, it wasn't good enough.
"It let a lot of people down who came along tonight. We need to find out why, but there's not many answers coming out at the moment. We really need to look hard in the mirror and see why that happened tonight as that wasn't acceptable at all.
"I don't want to take any credit away from London Welsh. They came up here, played a simple game, got in front and stuck at it.
"I can understand the frustration and accept it, but we have to take that responsibility when the fans booed us off the pitch and that is something we obviously never want to happen again.
"I apologise to every Sale supporter. They pay good money to watch and I will be doing my utmost to rectify that."
Scoring: (Sharks first) 0-3, 0-10, 0-13, 3-13, 6-13, 9-13, 9-16, 9-23 (Half Time) 9-26, 16-26, 19-26, 19-29.
Squad: 15.Rob Miller, 14.Tom Brady, 13.Johnny Leota, 12.Sam Tuitupou, 11.Mark Cueto, 10.Danny Cipriani, 9.Dwayne Peel, 1.Eifion Lewis-Roberts, 2.Joe Ward, 3.Vadim Cobilas, 4.Richie Gray, 5.Kearnan Myall, 6.Mark Easter, 7.David Seymour (capt.), 8.Andy Powell
Replacements: 16.Tommy Taylor (not used), 17.Ross Harrison for Lewis-Roberts (79), 18.Tony Buckley for Cobilas (53), 19.Fraser McKenzie for Myall (60), 20.Richie Vernon for Easter (72), 21.Will Cliff for Peel (65), 22.Nick Macleod for Cipriani (52), 23.Corne Uys (not used)
|Sale Sharks Score Card|
|London Welsh Score Card|