程璧光,字恒启,号玉堂,中山县(市)南蓢区田边村人,生于农民家庭,父程培芳,字立培。璧光排行第三,父亲程培芳在美洲经商,1871年病故于檀香山,璧光扶柩归里。1872年,以生计无着,投奔其姐夫陆云山。时福州船政局刚制成“靖远”炮船,由陆云山管带,陆云山命程璧光习航海术。
1875年,程璧光考入福州船政学堂,学习航海驾驶。毕业后上“扬武”舰当练习生。后历任南洋水师“超武”炮船管带、“元凯”炮船管带、福建水师学堂教习、广东水师“广甲”快船帮带等职。积功擢都司,调升“广丙”舰管带。
1894年5月,清廷第二次校阅水师,广东水师记名总兵余雄飞带“广甲”、“广乙”、“广丙”三舰往北洋会操,演习时“广东三船沿途行驶操演船阵,整齐变化,雁行鱼贯,操纵自如”,“中靶亦在七成以上”。会操结束后,朝鲜局势渐趋紧张,程璧光上书李鸿章,请求留北洋备战。李鸿章采纳此议,“广乙”、“广丙”二舰因留北洋,“广甲”舰返回广东解送岁贡荔枝后,亦留北洋。于是广东三船皆编入北洋水师。7月25日,日本海军在丰岛附近海面挑起战争,9月17日,北洋海军主力与日本联合舰队在黄海海面遭遇,展开大战,当时“广丙”在港口执行警戒。中午12时50分战斗打响后,程璧光指挥“广丙”舰于午后1时半赶到战场投入战斗,2时40分,“广丙”发炮击伤日舰“西京丸”,并引发火灾,“福龙”鱼雷艇趁机发射鱼雷两枚,当时日本海军军令部长桦山资纪海军中将正乘坐在“西京丸”上,自以为“我事已毕”,惟瞑目待毙。可惜两枚鱼雷都未击中,侥幸逃脱。海战中,程璧光腹部被弹片击中,血染内衣。1895年1月30日,日军开始进攻威海卫,此后北洋海军被困于威海卫港内。2月11日,提督丁汝昌和护理左翼总兵署“镇远”管带杨用霖皆拒降自杀。部分洋员与威海卫营务处提调牛昶炳等商议降事,决定由美籍洋员浩威起草投降书,以丁汝昌名义向敌乞降。12日,由程璧光乘“镇北”炮舰将投降书递交给日军旗舰。17日,日军开进刘公岛,北洋海军全军覆没。
战后,程璧光被革职回故里。其弟奎光,时任广东水师“镇涛”船管带,因与孙中山同乡关系,在广州加入兴中会。程璧光归乡后,经孙中山及其弟劝说,亦答应入会。1895年10月,兴中会起义计划泄露,程璧光逃至南洋槟榔屿。1896年,李鸿章出使欧洲,路过槟榔屿时,程璧光谒之,李鸿章劝其回国并为之请免甲午之战全军覆没之责。程璧光回国,复供职于海军。后历任兵舰管带、船政司司长、统领巡洋舰队等职。曾率海圻号巡洋舰远赴英国,参加英王加冕仪式。后因古巴和墨西哥发生大规模的排华事件。程遂帅舰访问古巴,当地华人热烈欢迎,而古巴总统慑于海圻舰军威,只得向程璧光表示:“古巴军民绝不会歧视华侨。”海圻号在古巴停泊,计划休整后访问墨西哥,墨西哥政府不等海圻舰造访,便就排华事件向清政府赔礼道歉,偿付受害侨民生命财产损失。中国军舰才取消了访问。程璧光在航行中进行了一次成功的炮舰外交。
北洋政府时期,闲住在上海。但袁对他住在南方很不放心。1913年春,袁派员邀他入京,聘为海军高等顾问,继又任他为陆海军大元帅统率办事处参议。其后,袁世凯阴欲复辟的逆迹渐显露,程璧光内心很是郁闷。1915年秋,他曾给朋友写信说:“惟时势不佳,实足令人厌世,恨不得早死为快也。”1916年6月袁世凯死后,黎元洪继任总统,段祺瑞为国务总理。黎元洪早年供职水师时,曾在广甲舰任管轮,为璧光属下。此时,极力推荐程璧光为海军总长,得国会通过。程在以后的“府院相争”中,站在“府”的一边,成为黎元洪的支持者。1917年4月,在对德宣战问题上,黎、段之间的矛盾白热化起来。为了向总统和国会施加压力,段祺瑞电召各省督军入京,于25日举行军事会议,海军总长程璧光与陆军训练总监张绍曾也被邀出席。段宣布其对德宣战的主张后,把预先准备好的一张“赞成总理外交政策”的签名单塞给出席者,让大家签名。各省区督军或其代表,皆仰承段的意旨,签署“赞成”,惟程璧光写:“如国会一致,当服从多数民意。”使段很不高兴。其后,参战案经国务院提交到众议院审查时,段祺瑞指使军警、流氓,演出“公民团”包围议会,殴辱议员的闹剧,一时群情激愤,舆论大哗。程璧光与外交总长伍廷芳、司法总长张耀曾,农商总长谷钟秀等向段建议内阁引咎总辞职,被段拒绝。于是当天晚上,程璧光等四人分别向总统提出辞呈,使原来就残缺不全的段内阁只剩下“总理”一人。到5月23日段祺瑞被黎元洪免去总理职务后,北洋系各省督军在段的唆使下,纷纷宣布独立,并准备以武力逐黎。程璧光见事机危迫,即电饬海军第一舰队司令林葆怿率舰驻扎大沽,表示对黎的支持。6月初,程曾请黎离京南下,愿率舰队护送,黎不同意。程不得已只得先行出京,9日抵沪,当日即召集各舰舰长开会,研究对付叛督办法。
自段祺瑞当国,挟督军团乱政以来,西南各省及孙中山为首的国民党人都站在同情黎的方面。程到沪后,与当时在沪的孙中山、唐绍仪、岑春煊三人有所接触,研究共同拥黎反段的办法,中山曾为海军筹措军费,鼓励程与北京政府脱离关系。6月,张勋北上,国会被迫解散。7月,张勋复辟,黎元洪进入日本使馆。程璧光在沪闻讯,派军舰三艘北上秦皇岛,想迎接黎元洪南下,未成功。3日,程与淞沪护军使卢永祥联衔发表了声讨复辟、拥护共和的檄文。1917年,孙中山鼓励程璧光与北洋政府脱离关系。7月21日,程璧光率部分舰只举义南抵广州,并于次日发表海军护法宣言,史称护法舰队。9月10日,军政府成立,孙中山被选为大元帅,程璧光任海军总长。1918年2月26日,程璧光在广州遇刺身亡,刺杀主使人至今成谜。1919年1月20日,广州军政府追授为海军上将。1922年7月20日追赠其为勋一位海军上将。