Seinen ersten internationalen Einsatz hatte Gaillard bei den nordischen Juniorenweltmeisterschaften 2000 in Štrbské Pleso. Dort konnte er sich jedoch nicht im Vorderfeld platzieren und belegte über die 30 Kilometer klassisch den 50. Platz und über die 10 Kilometer Freistil den 54. Platz. In der Saison 2001/02 startete er erstmals im Skilanglauf-Weltcup. Beim Weltcup in Nové Město gelang es ihm, mit Platz 24 über die 10 Kilometer Freistil seine ersten Weltcuppunkte zu erkämpfen. In den folgenden Jahren platzierte er sich meist weit außerhalb der Weltcuppunkte. Dennoch wurde er für die Nordischen Skiweltmeisterschaften 2005 in Oberstdorf nominiert. Beim Sieg seines Landsmannes Vincent Vittoz im Verfolgungswettbewerb belegte er den 47. Platz. Das Rennen über 50 Kilometer klassisch beendete er vorzeitig.
Erst in der Saison 2005/06 gelang es Gaillard, kontinuierlich Resultate unter den besten 30 Athleten zu erzielen. Sein bestes Saisonresultat erreichte er mit Platz 14 über 15 Kilometer klassisch in Davos. Diese guten Resultate sicherten ihm einen Platz in der französischen Nationalmannschaft bei den Olympischen Winterspielen 2006. Kurz vor den Spielen wurde bei ihm bei einer Trainingskontrolle ein erhöhter Hämoglobinwert festgestellt und er erhielt eine fünftägige Schutzsperre.[1] In Turin konnte er mit Platz elf über die 50 Kilometer Freistil für eine Überraschung sorgen. Auch über die 15 Kilometer klassisch konnte er mit Platz 25 ein gutes Resultat verbuchen. In der darauffolgenden Saison erkämpfte er sich im russischen Rybinsk mit Platz fünf über 30 Kilometer Freistil sein erstes Top-Ten-Resultat bei einem Weltcupwettbewerb. Dieses gute Ergebnis konnte Gaillard mit Platz sieben über 50 Kilometer klassisch bei den Nordischen Skiweltmeisterschaften 2007 in Sapporo bestätigen. Über die 15 Kilometer Freistil belegte er den 20. Platz und im Verfolgungswettbewerb den 35. Platz. Am Ende der Saison 2006/07 konnte er aufgrund von drei Platzierungen in den Top Ten bei Weltcupwettbewerben den 16. Platz im Distanzweltcup und den 32. Platz im Gesamtweltcup verbuchen.
Im Februar 2008 siegte Gaillard nach einer eher durchwachsenen Saison überraschend im 11,5 Kilometer Freistilrennen im tschechischen Liberec und konnte somit seinen ersten Weltcupsieg erzielen. Zum Beginn der Saison 2008/09 holte er in La Clusaz mit der Staffel den dritten Platz. Bei der Tour de Ski 2008/09 erreichte er im Sprint von Prag den dritten Platz. Die Tour beendete er auf den sechsten Platz in der Gesamtwertung. Es folgten zweite Plätze im 30-km-Verfolgungsrennen in Whistler und im 15-km-Massenstartrennen in Rybinsk. Seine besten Platzierungen bei den nordischen Skiweltmeisterschaften 2009 in Liberec waren der 14. Rang über 15 km klassisch, der neunte Platz mit der Staffel und der fünfte Platz im Teamsprint. Schließlich beendete er die Saison auf den siebten Rang in der Weltcupgesamtwertung und den zehnten Platz in der Distanzwertung.
Bei der Tour de Ski 2009/10 erreichte Gaillard nach einem starken Berglauf am Schlusstag noch den fünften Rang in der Gesamtwertung. Seine besten Ergebnisse bei den folgenden Olympischen Winterspielen in Vancouver waren der 19. Platz im 50-km-Massenstartrennen und der vierte Rang mit der Staffel. Die Tour de Ski 2010/11 schloss er mit dem sechsten Platz in der Gesamtwertung ab. Im Februar 2011 holte er in Rybinsk mit dem zweiten Platz in Rybinsk im 20-km-Verfolgungsrennen seinen nächsten Podestplatz im Weltcup. Bei den nordischen Skiweltmeisterschaften 2011 in Oslo errang er den 23. Platz im 30-km-Verfolgungsrennen, den 11. Rang in der Staffel und den achten Platz im Teamsprint. Die Saison beendete er auf den neunten Platz in der Weltcupgesamtwertung und den achten Rang in der Distanzwertung. Die Tour de Ski 2012/13 und 2013/14 beendete er auf den 26. und den 11. Platz in der Gesamtwertung. Bei den nordischen Skiweltmeisterschaften 2013 im Val di Fiemme belegte er den zehnten Rang im Skiathlon und den sechsten Platz im Teamsprint. Bei den Olympischen Winterspielen 2014 in Sotschi errang er den sechsten Platz im Skiathlon und holte mit dem dritten Platz in der Staffel seine erste Medaille bei einem internationalen Skilanglaufwettbewerb.
Zu Beginn der Saison 2014/15 belegte Gaillard den 19. Platz bei der Nordic Opening in Lillehammer. Bei den nordischen Skiweltmeisterschaften 2015 in Falun gewann er Bronze mit der Staffel. In der Saison 2015/16 kam er bei der Tour de Ski 2016 auf den 21. Platz und bei der Ski Tour Canada auf den 15. Rang. Sein bestes Einzelergebnis im Weltcup in der Saison war der fünfte Rang über 30 km Freistil in Davos. Im Januar 2016 gewann er im Worldloppet Cup den La Foulée Blanche. Die Saison beendete er auf dem 20. Platz im Gesamtweltcup und dem 19. Rang im Distanzweltcup. Nach Rang 61 bei der Weltcup-Minitour in Lillehammer zu Beginn der Saison 2016/17, wurde er in La Clusaz Dritter mit der Staffel. Bei der Tour de Ski 2016/17 errang er den 15. Platz. Im Februar 2017 gelang ihn beim Transjurassienne über 50 km Freistil der zweite Platz. Beim Saisonhöhepunkt den nordischen Skiweltmeisterschaften 2017 in Lahti belegte er den 26. Platz im Skiathlon, den 21. Rang im 50-km-Massenstartrennen und den siebten Platz mit der Staffel. Zum Saisonende kam er beim Weltcup-Finale in Québec auf den 21. Platz und erreichte den 24. Platz im Gesamtweltcup und den 21. Rang im Distanzweltcup. Zu Beginn der Saison 2017/18 errang den 30. Platz beim Ruka Triple und den siebten Platz bei der Tour de Ski 2017/18. Beim Saisonhöhepunkt, den Olympischen Winterspielen 2018 in Pyeongchang, holte er die Bronzemedaille mit der Staffel. Zum Saisonende kam er beim Weltcupfinale in Falun auf den 30. Platz und erreichte den 21. Platz im Gesamtweltcup.
Zu Beginn der folgenden Saison, errang Gaillard bei der Abschlussetappe beim Lillehammer Triple, den er auf dem 29. Platz beendete, den zweiten Platz. Im weiteren Saisonverlauf kam er auf den 15. Platz bei der Tour de Ski 2018/19 und auf den 22. Platz beim Weltcupfinale in Québec und errang damit den 29. Platz im Gesamtweltcup. Bei den nordischen Skiweltmeisterschaften 2019 in Seefeld in Tirol belegte er den 35. Platz im Skiathlon. Die Tour de Ski 2019/20 beendete er auf dem 22. Platz und lief bei den nordischen Skiweltmeisterschaften 2021 in Oberstdorf auf den 40. Platz im 50-km-Massenstartrennen und auf den 28. Rang im Skiathlon.
2006 Turin: 11. Platz 50 km Freistil Massenstart, 23. Platz 15 km klassisch
2010 Vancouver: 4. Platz Staffel, 19. Platz 50 km klassisch Massenstart, 30. Platz 30 km Skiathlon, 32. Platz 15 km Freistil
2014 Sotschi: 3. Platz Staffel, 6. Platz 30 km Skiathlon, 10. Platz Teamsprint klassisch, 21. Platz 15 km klassisch, 35. Platz 50 km Freistil Massenstart
2018 Pyeongchang: 3. Platz Staffel, 18. Platz 50 km klassisch Massenstart, 23. Platz 15 km Freistil, 28. Platz 30 km Skiathlon
2007 Sapporo: 5. Platz Staffel, 7. Platz 50 km klassisch Massenstart, 20. Platz 15 km Freistil, 35. Platz 30 km Skiathlon
2009 Liberec: 5. Platz Teamsprint klassisch, 9. Platz Staffel, 14. Platz 15 km klassisch, 22. Platz 50 km Freistil Massenstart, 54. Platz 30 km Skiathlon
2011 Oslo: 8. Platz Teamsprint klassisch, 11. Platz Staffel, 23. Platz 30 km Skiathlon
2013 Val di Fiemme: 6. Platz Teamsprint Freistil, 10. Platz 30 km Skiathlon
2015 Falun: 3. Platz Staffel, 9. Platz 30 km Skiathlon, 30. Platz 15 km Freistil
2017 Lahti: 7. Platz Staffel, 21. Platz 50 km Freistil Massenstart, 26. Platz 30 km Skiathlon