Nel campo della politica estera, Giovanni iniziò ben presto delle trattative di pace con la Danimarca e con Lubecca per porre fine alla Guerra del nord dei sette anni, ma si rifiutò di accondiscendere al Trattato di Roskilde del 1568. Durante questa cerimonia, Giovanni III volle che a rappresentare la Svezia fosse l'attuale bandiera con una croce gialla su campo azzurro. Dopo due ulteriori anni di combattimenti, questa querra si concluse senza molte concessioni alla Svezia col Trattato di Stettino (1570). Durante gli anni successivi egli combatté contro la Russia nella Guerra livoniana, conclusa poi col Pace di Plijussa nel 1583, guerra che portò la riconquista di Narva ad opera della Svezia.