The three managed to escape from a break of eight on the flat final run-in, after a rolling day of attacks and chases.
The race will have a rest day on Monday.
You can vote for stage 15's Zwift Rider of the Day below. Hilly, but not mountainous, the 181.5km route wound its way through the Languedoc Region in the area of southern France between the Alps and the Pyrenees.
He held a 1min 40sec lead on a group of chasers with 10km to race, with the main peloton and Thomas at over 20 minutes in arrears. This will be followed by the individual time trial on the penultimate day of the race.
As such, when race director Christian Prudhomme waved his flag to start the racing, almost everyone wanted to be in the break.
The only sustained attack against Thomas came from Daniel Martin , who is 10th at nearly seven minutes behind.
Britain's Geraint Thomas, of Team Sky, retained the race leader's yellow jersey after crossing the line with teammate Chris Froome and Dutch rival Tom Dumoulin (Sunweb) just over 18 minutes in arrears. "It is the first time I have raced for three weeks as a GC (general classification) leader, so it is an unknown for me".
Sitting 4th overall in the 2015 Tour, where he helped Froome to his second yellow jersey, Thomas struggled on stage 19's climb to La Toussuire, losing 22 minutes and dropping to 15th overall.
Trump Expected Pravda Questions at Putin Press Conference
She said the United States has four main adversaries: Russia, China, NorthKorea and Iran. The timing of that announcement was "unfortunate", said the official who defended Coats.
Apple Introduces 70 New Emoji
There are some more obtuse new designs too, notably a nazar symbol (to guard against the evil eye) and an infinity symbol. In fact, they're intended for users to recreate themselves in emoji form.
Pompeo says North Korea deal 'may take some time,' sanctions to remain
The Singapore summit was mainly about Trump's push to rid North Korea of its nuclear weapons. We think in the next couple of weeks we'll have the first remains returned.
It was nearly an hour and 44km of frenetic racing before a break of 29 riders was eventually established.
With the pace high, more than 40km - and an hour of racing - had passed before a group did get clear, with green jersey Peter Sagan (Bora-hansgrohe) once again in the move.
Lilian Calmejane (Direct Energie) broke away to crest the Col de Sié alone in the lead but eventually fell back into the relative comfort of the big break. Dumoulin, the time trial world champion and last year's Giro d'Italia victor, is third, 1:50 behind, and Roglic is fourth, 2:38 back.
Back in the peloton, Dan Martin (UAE Team Emirates) was also on the march on the climb, but he too was brought back on the other side as he was unable to cut his overall deficit.
Rafal Majka was leading the race on the final ascent when he barely avoided a fan who appeared to be pushed onto the road.
Schar went solo with 25km remaining, but Demare's Groupama FDJ team accelerated in front of the peloton to set up a mass sprint, and it was a compact bunch five kms from the line.
The trio stayed together until the run in to the finish, where Izagirre opened the sprint to the line. Team Astana looked to be in the strongest position, with two classy riders in the form of Michael Valgren and sprinter Magnus Cort Nielsen.
And two kilometres further on, Nielsen was quick to join Dutchman Bauke Mollema (Trek) and Jon Izagirre (Bahrain) when they left five of their breakaway companions behind.