临安府（今杭州市）判官。主管城南厢，听讼严明，自持廉正，不畏强权，平反冤狱。都城火灾，瓦砾充斥，派民船运送。一百多家在籍者被宦官庇护，不应役，他严加追究，惩罚不服役者，于是无不听命。力拒户部科买，添差通判临安。改知广德军，拜监察御史，上奏知无不言，忤逆贾似道，触怒宋度宗。改任司农卿，为两浙转运使。修筑3600多丈的海晏塘。转任户部侍郎，出知平江府，主持蠲免赋税、整修府库。改任浙东安抚使，救济灾民。召为刑部侍郎，兼给事中。宋恭帝德祐元年（1275年），拜为吏部尚书，进端明殿学士。德祐二年（1276年）任参知政