According to Wikipedia, John Watson holds the record. He started the 1983 USGP West in 22nd position for McLaren and won. Niki Lauda started in 23rd and finished second, also for McLaren.
After Watson is Bill Vukovich, who won the 1954 Indianapolis 500 from 19th place on the grid in the days when the Indy 500 was considered a part of the championship despite none of the regular drivers actually taking part.
Third place is Rubens Barrichello, who won the 2000 German Grand Prix from 18th place. Then you have Watson again, winning the 1982 Detroit Grand Prix from 17th on the grid; he’s tied with Kimi Raikkonen who won the 2005 Japanese Grand Prix from the same position.
Then there’s another tie for sixth: Jackie Stewart won the 1973 South African Grand Prix from 16th, with Michael Schumacher winning the 1995 Belgian Grand Prix under the same circumstances. Eighth place will be controversial; Fernando Alonso won the 2008 Singapore Grand Prix from 15th place.
Finally, we have a five-way tie for tenth place, with all drivers winning from 14th on the grid: Bob Sweikert at the 1955 Indianapolis 500, Alan Jones at the 1977 Austrian Grand Prix, Olivier Panis at the 1996 Monaco Grand Prix, Johnny Herbert at the 1999 European Grand Prix, and Jenson Button at the 2006 Hungarian Grand Prix.
And it’s on Wikipedia, so it must be true.