授刑部主事，历任刑部郎中，成化二十三年（1487年）出为湖广按察使副使，改山东副使。弘治七年（1494年）治理黄河决口，因与中官对抗被弹劾，明孝宗下诏逮捕。当地百姓遮道诉节，乞求归还。朝议上，杨茂元坚持不跪，明孝宗大怒，置之入诏狱。当地百姓多次诉冤，加上言官论救，改为长沙同知，之后谢病归还。数年后，起用为安庆府知府，升广西左参政。正德四年（1509年）刘瑾派监察御史孙迪索贿不成，被勒令致仕。刘瑾被诛杀后，起任为云南左布政使，再以右副都御史担任贵州巡抚，改负责南京都察院，官至刑部右侍郎。