Am 10. August 2011 debütierte er in einem Testspiel in der schwedischen Nationalmannschaft beim 1:0-Sieg in Charkiw gegen die Ukraine; er wurde in der 60. Spielminute für Sebastian Larsson eingewechselt. Bei der Fußball-Europameisterschaft 2012 in der Ukraine und in Polen gehörte er nicht zum schwedischen Aufgebot; bei der Europameisterschaftsendrunde 2016 in Frankreich absolvierte er alle drei Gruppenspiele der Schweden. Am Ende der Gruppenphase war das Team Tabellenletzter und schied aus. In der folgenden Qualifikation zur Weltmeisterschaft 2018 in Russland qualifizierte er sich mit der schwedischen Nationalmannschaft für die Relegation, in der man sich gegen Italien durchsetzte. Im Hinspiel in Solna stand Ekdal in der Startelf und wurde in der zweiten Halbzeit verletzungsbedingt durch Jakob Johansson ersetzt; dieser erzielte kurz darauf den 1:0-Siegtreffer. Im Rückspiel in Mailand (0:0) kam er nicht zum Einsatz. Ekdal stand im schwedischen Kader bei der WM-Endrunde in Russland und erreichte mit der Mannschaft das Viertelfinale.