Kariera reprezentacyjna W dorosłej reprezentacji zadebiutował 3 marca 2010 w meczu przeciwko Urugwajowi, wchodząc z ławki rezerwowych. 11 maja 2010 znalazł się w 23-osobowej kadrze Szwajcarii powołanej przez Ottmara Hitzfelda na mundial w RPA, gdzie na samych mistrzostwach pojawił się w 78' minucie w ostatnim meczu grupowym bezbramkowym remisem przeciwko reprezentacji Hondurasu i tym samym Szwajcarzy odpadli już na fazie grupowej. 6 września 2011 w meczu Eliminacji Euro 2012 strzelił hat-tricka. 25 czerwca 2014 na Mistrzostwach Świata 2014 w Brazylii został 50. piłkarzem w historii, który podczas mundialu zdobył hat-tricka w ostatnim meczu grupowym z Hondurasem 3:0Xherdan Shaqiri autorem 50. hat-tricka w historii mundialu!.
W eliminacjach do UEFA EURO 2016 zdobył cztery bramki, trzy w dwumeczu przeciwko reprezentacji Litwy oraz jedną w starciu z San Marino. Na samych mistrzostwach rozegrał cztery spotkania i zdobył jedną bramkę, w 1/8 finału z Polską. W eliminacjach Mistrzostw Świata 2018 zdobył jednego gola. Na samym turnieju w Rosji rozegrał 4 spotkania i raz wpisał się na listę strzelców w wygranym 2:1 meczu z Serbią. W 2019 wraz z reprezentacją wystąpił w finale Ligi Narodów, gdzie Szwajcaria zajęła 4. miejsce po porażce w półfinale 1:3 z Portugalią i meczu o 3. miejsce z Anglią (0:0) po rzutach karnych 6:5..