杭州钱塘县（今浙江省杭州市）人。宋神宗时参知政事。祖籍抚州南城，伯曾祖是唐朝末年割据江西东部的抚州刺史危全讽，曾祖危仔倡避乱迁居杭州，改姓元氏。祖父吴越国丞相元德昭。宋仁宗天圣八年（1030年）进士。调江宁推官，摄上元令。任间多次查处当地杀人疑案，范仲淹称道其才，得到范仲淹的表荐为知吉州永新县。调楚州淮阴县主簿，授江陵府观察推官。宋仁宗召见，改任秘书省着作佐郎，知通州静海县、海门县。擢升为江西转运判官，知台州。在台州任上，出库钱建房数千，安置遭大水灾而无家可归的流民。他留意民政，善断狱，权三司度支判官。