Srna spielte 134-mal für das kroatische Nationalteam und erzielte dabei 22 Tore. Sein Debüt gab er am 20. November 2002 gegen Rumänien. Er spielte im Qualifikationsturnier für die WM 2006 in Deutschland, in dem er im vorletzten und entscheidenden Spiel gegen Schweden mit einem Elfmetertor die Teilnahme der Kroaten sicherte. Bei der WM 2006 kam er in allen drei Vorrundenspielen zum Einsatz und erzielte beim letzten Vorrundenspiel gegen Australien einen Treffer, der jedoch nicht für den Einzug in das Achtelfinale reichte. Bei der EM 2008 traf Srna im zweiten Gruppenspiel gegen Deutschland zum 1:0 für die Kroaten und trug somit zum 2:1-Sieg seiner Mannschaft bei. Am Ende wurde Kroatien Gruppensieger und zog in das Viertelfinale ein. Dort schieden Srna und die Kroaten gegen die Türkei im Elfmeterschießen aus. Nach der EM trat Niko Kovač aus der Nationalmannschaft zurück; Srna wurde sein Nachfolger als Kapitän des Nationalteams.