1420 heiratete er Blanka von Navarra, als deren Gemahl er 1425 König von Navarra wurde – bis zu ihrem Tod 1441 rechtmäßig, danach unrechtmäßig, indem er seinem Sohn Karl von Viana die Krone Navarras vorenthielt. In Kastilien besaß er auch etliche Territorien. Johanns Regierung war hart und willkürlich gegen seine eigenen Untertanen. Im vom 1451 bis 1455 dauernden Bürgerkrieg, den Johann gegen seinen Sohn Karl austrug, ließ er diesen zwei Jahre inhaftieren und trieb ihn schließlich 1455 bis 1458 ins Exil nach Neapel. 1458 starb Johanns Bruder Alfons V. und Johann beerbte diesen als König von Aragon und Sardinien. Auch nach der Rückkehr Karls nach Spanien verwehrte Johann ihm den Status des Thronerben von Navarra und Aragón und ließ ihn 1460 neuerlich einsperren. Ein Jahr später starb Karl, vielleicht durch Gift. Seit 1462 musste Johann eine Rebellion der Katalanen bekämpfen, die er erst zehn Jahre später siegreich beenden konnte. Danach führte er bis zu seinem Tod Krieg gegen den französischen König Ludwig XI.