1969年8月加入中国共产党。
1960年8月参加工作。
1960年8月至1970年5月任湖南省龙山县教员,公社团干部,龙山县革委会政工组、党委办公室干事、副主任。
1970年6月至1977年12月任湖南省龙山县革委会副主任,中共龙山县委副书记。1978年1月至10月任中共湖南省龙山县委书记。
1978年11月至1981年6月任中共湖南省湘西土家族苗族自治州委常委、中共湖南省龙山县委书记。
1981年7月至1983年5月任中共湖南省湘西土家族苗族自治州委常委、副州长。
1983年6月至1985年5月任中共湖南省湘西土家族苗族自治州委书记。
1985年6月至1990年2月任中共湖南省委常委、中共湖南省湘西土家族苗族自治州委书记。
1990年3月起任第六届中共湖南省委副书记。
1995年1月在湖南省八届人大常委会第十三次会议上被任命为湖南省副省长、代省长。
1995年2月在湖南省八届人大三次会议上被补选为湖南省省长。
1995年10月至1998年9月任中共湖南省委副书记。
1998年1月至10月任湖南省省长。
1998年9月至2005年12月任中共湖南省委书记。
1999年2月在湖南省九届人大二次会议上当选为湖南省第九届人大常委会主任。
2003年1月在湖南省第十届人民代表大会第一次会议上当选为湖南省人大常委会主任(2006年1月辞)。2005年12月任十届全国人大财经委员会副主任委员。
2006年1月12日,湖南省十届人大常委会表决通过了接受杨正午同志辞去湖南省第十届人民代表大会常务委员会主任职务的决定。
2008年3月任十一届全国人大常委会委员。