为盗贼，领百余人在淮南一带作案，在起义军孟让为王世充所破后，得到他的残兵共八百人，后攻破庐江郡，在617年渡江依附豫章的林士弘。但林士弘却不敢信任张善安，只让他在南塘扎营，引起张善安不满与林士弘内讧相战，一度将城墙烧毁。逼得林士弘迁往南康，此时江陵的萧铣见有机可趁派部将袭夺豫章，但不久后张善安又领军攻下豫章。622年春，张善安投降李渊，被封为洪州总管，参与对林士弘的战事，623年辅公祏在丹阳起兵反唐，张善安也举兵相应，被封为西南道大行台，攻陷孙州。当年十一月，黄州总管周法明奉命攻击辅公祏，张善安来援