初年，以靖州（治今湖南靖县）教授身份被召见，他认为“官当择人，不当为人择官”。擢升为国子司业兼权起居舍人，晋升为起居郎。当时商议复旧疆，图进取。他以为“兵未强，财未裕，宜卧薪尝胆，以图内治”。被擢升为左司谏，劝孝宗正纪纲、容直言、亲君子、远小人。官至右谏议大夫，弹劾贪虐的夔州（今重庆市奉节县）安抚使，没有成功，于是自请贬官出知严州。两年后，改任敷文阁待制知婺州，严州父老相送。淳熙八年（1171年），召回临安府，历任吏部右选侍郎、国子祭酒、枢密都承旨，权刑部尚书、兼权吏部尚书。淳熙十五年（1178年）为参知政