程普早年在州郡担任官吏,颇有容貌风姿、计谋策略,善于应答论对。后跟随孙坚四处征战,在宛县、邓县进击黄巾军,在阳人打败董卓,攻城野战,数有战功,身上多处受伤。
兴平元年至兴平二年(194年—195年),孙坚死后,程普又在淮南跟随孙策,跟着他攻打庐江,破城后,回师一起东渡长江。
建安元年(196年),孙策率军前至横江、当利,击败张英、于麋等,转而进攻秣陵、湖孰、句容、曲阿,程普都立下战功,孙策给他添加兵员二千、战马五十匹。又进而攻破乌程、石木、波门、陵传、馀亢,程普立的战功最多。
建安二年至建安四年(197年—199年),孙策进入会稽,任命程普为吴郡都尉,治所设在钱塘。后又转任丹杨都尉,据守石城,又进讨宣城、泾县、安吴、陵阳、春谷等处贼寇,将他们全都打败。孙策曾攻打祖郎,被祖郎军队团团围住,程普同一名骑兵一起保护着孙策,驱马疾呼猛突,用长矛刺敌,祖郎军往两边分开,孙策由是得以随程普冲出重围。后来程普被任命为荡寇中郎将,兼任零陵太守,随孙策前往寻阳讨伐刘勋,在沙羡进击黄祖,回师后仍镇守石城。
建安五年(200年),孙策逝世,叛乱四起,程普与张昭等共同辅佐孙权,转战三郡之地,平定讨伐各种不归服的势力。
建安八年(203年),程普随孙权出征江夏,回师路过豫章,单独领军讨伐乐安,不久平定。
建安十三年(208年),程普代替太史慈驻防海民昏,与周瑜分任左右督,在乌林打败曹操。
建安十四年(209年),程普随周瑜攻打南郡,击走曹仁。拜为裨将军,领江夏太守,治沙羡,食四县邑。
建安十五年(210年),周瑜去世,程普代领南郡太守。孙权分荆州与刘备后,程普复还领江夏,迁荡寇将军,不久逝世。
据《吴书》记载:程普曾杀背叛者数百人,投尸于火中,程普即日得病甚重,百余日后病卒。
而据《程氏宗谱》和瑞昌地方志里所记载:程普于建安二十年病逝,死后葬于桂林岗。
孙权称尊号时,追论程普之功,封其子程咨为亭侯。