明治大学付属中野高校時代、高校3年の夏は、西東京大会準決勝で創価高校の小野和義と投げ合って敗れベスト4。
その後明治大学へ進学。明治大学硬式野球部時代は2年から出場し、3年秋の東京六大学リーグ戦では5完封を含む7連勝を記録。
大学時代の通算成績は56試合登板・20勝8敗・防御率2.40・208奪三振。
3年生秋のリーグ戦では7勝0敗の成績を残してベストナインに選出されたほか、同大会の対立教大学1回戦では1試合17奪三振(毎回奪三振)を記録した。
1987年度のドラフト会議にて、日本ハムファイターズに入団。
1988年6月8日の対阪急ブレーブス]戦でプロ初登板を果たし、同年8月3日の対ロッテオリオンズ戦でプロ初勝利を挙げた。同年は一軍では20試合に登板。
1990年は近藤貞雄監督に見込まれ、抑え投手に転向。前半戦ではNPBタイ記録となる12試合連続セーブポイントを記録し、オールスターゲームに初出場。
同年は37試合に登板して10勝5敗13セーブ、23セーブポイントの成績を挙げた。
1991年は41試合に登板して4勝8敗18セーブ、22セーブポイントを挙げて「最優秀救援投手」のタイトルを獲得。同年5月には10試合に救援登板して3勝1敗・3セーブの成績を残し、プロ入り後初の月間MVPを獲得した。
1992年は本人の希望から先発に再転向。同年は故障に泣かされ、22試合登板・4勝9敗・防御率3.87の成績に終わったが、8月30日の対福岡ダイエーホークス戦では延長12回完封勝利を記録。
1995年オフ、交換トレードでダイエーへ移籍。右のエースとして活躍し、左のエース・工藤公康とともに投手陣を牽引した。
1997年は自身初の開幕投手を務めた。同年は開幕から4連勝を記録し、4月29日(対オリックス戦)・5月6日(対西武戦)では2試合連続完封勝利を記録。
1998年は13勝を挙げ、パ・リーグ最多勝を獲得。
同年オフにFA権の行使し、中日ドラゴンズへ移籍。
1999年は野口茂樹・山本昌・川上憲伸とともに先発ローテーションの4本柱を担い、セ・リーグ投手成績6位の成績を残し、右のエースとして中日の11年ぶり5度目となるセントラル・リーグ優勝に貢献した。
2001年10月19日に中日から戦力外通告を受け、一度は引退を決断するが、同時に中日を去った星野監督から「まだ2ケタ勝てるだろう」という言葉を受け、現役続行を決意。同年12月4日に読売ジャイアンツが獲得を表明。
2002年5月7日に対中日7回戦で先発登板し、6回4被安打2失点で勝利投手となり、史上3人目の全球団勝利を達成。
しかし、同年夏場に古傷の右膝を痛めてリハビリ生活が続き、同年10月10日に現役引退。NPB史上最多勝利と最優秀救援投手の両方を獲得した投手は、4人のみである。
現役引退後、2003年以降は日本放送協会 (NHK) の野球解説者になり、現在も同局の解説者を務めている。
2006年にはダイエー時代にともにプレーした王監督が指揮を執るワールド・ベースボール・クラシック (WBC) 日本代表の投手コーチを務めた。
2010年の秋季キャンプでは古巣ダイエーの後身であるソフトバンクの臨時投手コーチを務め、2011年の春季キャンプでもソフトバンクの臨時投手コーチを務めた。2013年から東京ガスの臨時投手コーチを努め、石川歩、山岡泰輔を指導した。
2013年オフ、ロッテから戦力外通告を受けた山本徹矢から相談を受けたことをきっかけに、引退直後から抱いていた「プロ野球選手のセカンドキャリアをサポートするシステムをつくりたい」という構想を具現化すべく、同年12月20日に人材派遣会社「株式会社ヒューマンリンク」]を設立し、代表取締役に就任。その後、2021年時点では「グルーヴ」の代表取締役を務めている。
1965/6/22生
171㎝/81㎏
最優秀救援投手:1回(1991年)
月間MVP:3回(1991年5月、1996年7月、1998年5月)
ファイアマン賞:1回(1991年)
明治大学
日本ハムファイターズ(1988年-1995年)
福岡ダイエーホークス(1996年-1998年)
中日ドラゴンズ(1999年-2001年)
読売ジャイアンツ(2002年)
コーチ:日本代表投手コーチ(2006年WBC)