Kálmán több testvérrel rendelkező hercegként élt I. László király, azaz nagybátyja gyámsága alatt. Kiváló és gondos nevelésben részesült, de nem számított a trón várományosának mert nagybátyja nem őt, hanem öccsét, Álmos herceget szánta utódjának.
A kiemelkedő szellemi képességekkel bíró, de állítólag testi hibás hercegre az egyházi pálya várt. Az 1090-es évek elején püspökké is szentelték, de később erről a méltóságáról pápai engedéllyel lemondott. Testi fogyatékosságát egyes későbbi krónikaírók eltúlozták, hogy vele szemben Álmost, illetve az ő később hatalomra jutott utódait jobb színben tüntethessék fel.
Meglepő fordulat, nem várt hatások
A Szent László halálát követő trónviszályból, amely Kálmán és öccse, Álmos között zajlott, végül az előbbi került ki győztesen. Kálmán támogatói között tudhatta az egyházat és a hazai elit jelentős részét, de öccse, Álmos még sokáig nem mondott le a hatalomról. 1098-ban a két testvér Várkonynál egyezséget kötött, aminek eredményeként Kálmán a királyságot tarthatta meg, Álmos pedig dukátust (hercegség) kapott, amit egészen 1107-ig birtokolhatott. A területet és a tisztséget Kálmán vette el öccsétől, mert az folyamatosan hatalmára tört. 1107–1108 fordulóján állítólag még merényletet is tervezett a király ellen. Utolsó kísérlete Kálmán uralmának megdöntésére 1115-ben történt, amikor bátyja őt és fiát, a későbbi II. (Vak) Bélát, hogy alkalmatlanná tegye őket az uralkodásra, megvakíttatta.

Kálmán időközben lelkesen támogatta a pápa kezdeményezésére indított első keresztes hadjáratot.
Az 1096 nyarán érkező nyugati sereg előhada azonban komoly csalódást jelentett. A vandál módon fosztogató kereszteseket Kálmán kegyetlenül leverte, a békés szándékkal érkező csapatok nyugodt átvonulását azonban saját haderejének felvonultatásával biztosította.

Közben Horvátország belügyei keltették fel a magyar király figyelmét. A déli irányban offenzív külpolitikát folytató Kálmánt végül 1102-ben Tengerfehérvárott horvát királlyá koronázták. 1105-ben elfoglalta Dalmáciát is. Hogy a terület stabilizálását biztosítsa, Szent László leányát, Piroskát a későbbi bizánci uralkodóhoz, II. (Komnénosz) Jánoshoz (1118–1143) adta feleségül. A Magyar Királysághoz újonnan hozzákapcsolt területek irányítására Kálmán létrehozta a báni méltóságot. Szvjatopolk kijevi nagyfejedelem kérésére fegyveres segítséget nyújtott számára az orosz belviszályokban, de Przemysl ostrománál az ellenséges orosz részfejedelmek a kunok segítségével megrendítő csapást mértek a magyar király vezette erőkre. Kálmán beavatkozott a lengyel belviszályokba is, amelyek során III. Boleszlávot támogatta. A vele szövetségre lépő lengyel uralkodóra később maga is számíthatott V. Henrik német királlyal és Szvatopluk cseh fejedelemmel szemben vívott csatáiban.