Harnik debuteerde op 22 augustus 2007 in het Oostenrijks voetbalelftal, tegen Tsjechië. Hij speelde voor hij officieel international werd ook in de Oostenrijkse nationale selecties onder 19, onder 20 en onder 21. Harnik speelde onder meer drie groepswedstrijden op het Europees kampioenschap voetbal 2008 in eigen land. Hij nam ook met de nationale ploeg deel aan het Europees kampioenschap voetbal 2016 in Frankrijk. Oostenrijk werd uitgeschakeld in de groepsfase na nederlagen tegen Hongarije (0–2) en IJsland (1–2) en een gelijkspel tegen Portugal (0–0).