Barnetta jest reprezentantem Szwajcarii. W drużynie narodowej zadebiutował 9 września 2004 roku w meczu eliminacji do MŚ 2006 przeciwko Irlandii (1:1). Był uczestnikiem Euro 2004, z którego odpadł z drużyną po fazie grupowej. W 2006 roku pojechał Mistrzostwa Świata. Z reprezentacją dotarł tam do 1/8 finału, jednak Helweci ulegli tam po rzutach karnych Ukrainie. Na tym mundialu Barnetta zdobył gola w meczu grupowym przeciwko Togo (2:0). W 2008 roku został powołany do kadry na Mistrzostwa Europy, które zakończył jednak z drużyną na fazie grupowej. Grał również na Mistrzostwach Świata 2010 i 2014. W kadrze narodowej od 2004 do 2014 roku zagrał 75 razy i strzelił 10 goli.