En 1456, Juan fue nombrado heredero de la corona de Dinamarca, y en 1458 de Noruega y Suecia. A la muerte de su padre en 1481, Juan se convirtió, sin oposición, en el nuevo rey de Dinamarca, y a principios de 1483, tras una reunión en Halmstad, también se erigió en rey de Noruega. En 1483 fue coronado primero en Copenhague y después en Trondheim, y el 7 de septiembre del mismo año se reunió con el Consejo sueco en Kalmar, donde fue elegido rey de Suecia.
En Holstein, los privilegios que Cristián I había otorgado a la región le permitían a los habitantes elegir entre los hijos del rey a su nuevo duque. Dorotea de Brandemburgo, la madre de Juan, había heredado de su marido la administración del ducado, y favoreció a su hijo menor, Federico, para ocupar el gobierno. Sin embargo, los dos hermanos, Juan y Federico, fueron elegidos como cogobernantes el 12 de diciembre de 1482.
En Suecia, el regente Sten Sure retardaría por 14 años el ascenso de Juan al trono de ese país. El rey de Dinamarca hizo una alianza en 1493 con el Principado de Moscú (el primer tratado de un rey danés con Rusia), quien atacó Finlandia (entonces parte integral de Suecia). La invasión de Finlandia provocó descontentos entre los suecos, que consideraron que Sten Sture había dirigido mal la guerra. Juan se ganó el apoyo de la mayoría de la nobleza sueca, que le solicitó su intromisión en el reino; Juan aprovechó entonces la ocasión para entrar a Suecia con un nutrido ejército de mercenarios, en 1497, y después de una corta y exitosa campaña militar, derrotó a Sten Sture en Rotebro, en las cercanías de Estocolmo el 28 de septiembre del mismo año. Juan hizo su entrada en Estocolmo el 11 de octubre de 1497 y fue coronado rey de Suecia el 26 de noviembre con el nombre de Juan II, al tiempo que su hijo Cristián era nombrado su sucesor. Su política sueca fue tejer una relación de amistad entre Dinamarca y Suecia, y pudo obtener la promesa de fidelidad de Sten Sture.
Junto con su hermano Federico se lanzó en 1500 a la conquista de la región de Dithmarschen, bajo jurisdicción de Holstein, pero que funcionaba de facto como una república independiente. Juan y Federico atacaron con mercenarios alemanes, pero los de Dithmarschen rompieron los diques de la costa y el ejército de los dos hermanos sufrió una estrepitosa derrota.
Tras la derrota, el prestigio militar de Juan decayó y enseguida se produjeron levantamientos contra el rey en Suecia y Noruega. En Suecia, Juan fue depuesto como rey en 1501 y el gobierno se ofreció nuevamente a Sten Sture. La reina Cristina defendió el castillo de Estocolmo contra el sitio impuesto por los rebeldes suecos; finalmente, el castillo, que era la última plaza fuerte del rey danés en Suecia, cayó el 9 de mayo de 1502. Tras su salida de Suecia, Juan trató de entablar negociaciones con los suecos, que no condujeron a ningún resultado, por lo que en 1507 emprendió de nuevo la guerra, arrasando la costa sueca. En Noruega, la rebelión fue aplastada en 1508 por el hijo de Juan, Cristián (posteriormente Cristián II), que gobernaba en ese país como virrey. La Liga Hanseática y especialmente la ciudad de Lübeck vieron afectado su comercio con Suecia a causa de la guerra, por lo que entraron en guerra contra Dinamarca en 1510. En un principio Dinamarca fue asolada por la armada de la Liga, pero posteriormente Juan obtuvo victorias que resultaron en un tratado de paz en abril de 1512.