Ioan Alexandru era fiul "despotului" Srațimir de Krǎn și al Petriței, sora lui Mihail Asan al III-lea al Bulgariei. Astfel, Ioan Alexandru era nepotul lui Mihail Asan al III-lea. Pe linie paternă, Ioan Alexandru se trăgea din dinastia Asăneștilor. Până în 1330 Ioan Alexandru era el însuși "despot" și guverna orașul Loveci. Împreună cu tatăl său și cu socrul său Basarab I al Țării Românești, Ioan Alexandru a luptat în Bătălia de la Velbužd împotriva sârbilor pe locul orașului Kiustendil din ziua de azi în 1330, bătălie din care Bulgaria a ieșit învinsă. Înfrângerea, combinată cu înrăutățirea relațiilor cu Imperiul Bizantin, a grăbit o criză internă, exacerbată de o invazie bizantină. O lovitură de stat l-a gonit pe Ioan Ștefan din capitala Tǎrnovo în 1331, iar conspiratorii l-au adus pe tron pe Ioan Alexandru.