1451년(문종 1)에 생원이 되고, 1456년(세조 2)에 동생 어세공과 동방(同榜)으로 식년문과에 병과로 급제하였다. 이듬해 승문원정자(承文院正字) · 봉상시녹사(奉常寺錄事)를 거쳤다. 1459년에 천추사(千秋使) 이극배(李克培)의 수행관인 이문학관(吏文學官)으로 명나라에 다녀왔다.
이어 문명(文名)을 드러내 예문관대교(禮文館待敎) · 봉상시직장(奉常寺直長) · 성균관주부(成均館主簿) · 예문관봉교(禮文館奉敎) 등 요직을 거쳤다. 1461년 이조좌랑, 1464년 이조정랑에 임용되었다. 1466년에 김국광(金國光) · 한계희(韓繼禧)의 천거로, 종부시정(宗簿寺正)으로 예문관직제학을 겸하였다. 이듬해 우부승지를 거쳐 우승지에 이르렀다.
1469년(예종 1)에는 강순(康純) · 남이(南怡)의 역모에 관한 옥사(獄事) 이후, 익대공신(翊戴功臣) 3등에 책록되고 함종군(咸從君)에 봉해졌다. 이듬해에 평안도관찰사로 외보되었다. 성종이 즉위한 뒤, 경직인 동지성균관사(同知成均館事)가 되었다. 1471년(성종 2) 예조참판에 올랐다.
1478년 겸오위도총부부총관(兼五衛都摠府副摠管)에 임명되었으나, 당시 아우 어세공이 병조판서로 재임하고 있어 상피법(相避法: 친척이나 긴밀한 관계에 있는 사람끼리는 같은 곳에서 벼슬을 서로 피하게 하던 제도)에 저촉되는 까닭에 임명이 취소되었다.
1479년 대사헌이 되었다가 한성부좌윤으로 옮겼고, 다시 이조참판에 임명되었다. 같은 해 말에 건주위(建州衛) 정벌 승전을 알리는 주문사(奏聞使)로 명나라에 가서 탁월한 능력을 발휘해 외교적인 성공을 거두었다. 명나라에서 귀국할 때 『오륜서(五倫書)』 · 『국자감통지(國子監通志)』 등 귀중한 서책을 들여왔다.
귀국 후 전라도관찰사 · 공조판서를 거쳤다. 그러다 대간(臺諫)의 탄핵을 받아 일시에 이조참판으로 좌천되었다. 1482년에 봉조하(奉朝賀)가 되었다가 다시 대사헌이 되었다.
그 뒤 형조판서 · 경기도관찰사 · 한성부판윤 · 호조판서 · 병조판서를 역임하였다. 1488년 말에는 홍문관대제학이 되었다.
이어 좌참찬 · 우찬성 · 좌찬성을 거쳐 1495년(연산군 1)에 우의정, 이듬해 좌의정에 올랐다. 1498년 무오사화 때는 사초(史草) 문제로 탄핵을 받아, 좌의정을 물러나면서 부원군(府院君)으로 진봉(進封)되고 궤장(几杖)을 하사받았다.
학식이 뛰어날 뿐 아니라 소절(小節: 사소한 절개)에 얽매이지 않았다. 형조판서로 있을 때는 출퇴근 시간에 개의하지 않아 ‘오고당상(午鼓堂上)’이라 불리었다. 그러나 정치를 능률적으로 하여 결송(決訟: 소송의 결정)이 지체되지 않았다 한다. 문무를 겸비하여 내외치(內外治)에 많은 업적이 있다.
특히 성종 말에는 권근(權近) · 윤회(尹淮) · 변계량(卞季良) · 최항(崔恒)의 뒤를 이어 문형(文衡: 대제학의 별칭)을 담당하였다. 1483년 서거정(徐居正) · 노사신(盧思愼)과 함께 『연주시격(聯珠詩格)』과 『황산곡시집(黃山谷詩集)』을 한글로 번역하였다. 1490년 임원준(任元濬) 등과 함께 「쌍화점(雙花店)」 · 「이상곡(履霜曲)」 등의 악사(樂詞)를 개찬(改撰)하였다.
같은 해 가을에는 『주례(周禮)』를 개주(改註)하여 왕에게 올렸다. 1492년 유자광(柳子光) 등과 함께, 전하는 여러 진서(陣書)의 이동(異同)을 참작해 『진법(陣法)』을 편찬하였다. 저서로는 『서천집』이 있다. 시호는 문정(文貞)이다.