The Italian sprinter, who celebrated his 22nd birthday on Thursday, was given a strong lead-out by his team and managed to hold off Denis Galimzyanov (Katusha) and Mickael Delage (FDJ) to win the stage in four hours 44 minutes 31 seconds.
German rider Linus Gerdemann (Leopard Trek) kept hold of the lead of the general classification after finishing in the leading group.
The win for Appollonio caps a good season so far, who has had a succession of podium places including a second place to Mark Cavendish on stage 12 of the Giro d'Italia last month.
But just as Appollonio was celebrating his moment of glory he was left with egg on his face: the rider crashed into a barrier just beyond the finish line, although thankfully the only thing hurt was his pride.
"I'm so happy to get my first victory this year for the team. I've had a few seconds and thirds so I was really hoping for a win and today it happened," said Appollonio.
"After the Giro I had a little bit of a rest afterwards but I kept my condition and then the team called me into the Luxembourg squad - I'm pleased to reward their faith in me and tomorrow we'll do everything we can to try and get the victory again."
Stage three results:
1. Davide Appollonio (Ita) Team Sky
2. Denis Galimzyanov (Rus) Katusha Team
3. Mickaël Delage (Fra) FDJ
4. Romain Feillu (Fra) Vacansoleil-DCM Pro Cycling Team
5. Pieter Vanspeybrouck (Bel) Topsport Vlaanderen - Mercator
1. Linus Gerdemann (Ger) Leopard Trek
2. Alexandre Geniez (Fra) Skil - Shimano +0:00:02
3. Tony Gallopin (Fra) Cofidis, Le Credit En Ligne +0:00:03
4. Maxime Monfort (Bel) Leopard Trek +0:00:05
5. Mickaël Delage (Fra) FDJ +0:00:08