Mjällby debütierte für die schwedische Nationalelf am 12. März 1997 im Spiel gegen Israel. Insgesamt spielte er 49 Mal für sein Land, dabei gelangen ihm vier Tore. Er nahm an der Weltmeisterschaft 2002 und den Europameisterschaften 2000 und 2004 teil. 2002 wurde er als Nachfolger von Patrik Andersson Mannschaftskapitän der Auswahl und wurde in diesem Amt 2004 von Olof Mellberg abgelöst.