Wainwright had been eligible to become a free agent after the World Series.
The new agreement, first reported by foxsports.com, was confirmed by a person familiar with the negotiations who spoke on condition of anonymity because it had not yet been announced. The Cardinals scheduled a news conference for Thursday at their spring training camp in Jupiter, Fla.
A 31-year-old right-hander, Wainwright was 14-13 with a 3.94 ERA last year after missing the Cardinals' World Series championship season in 2011 because of elbow surgery.
Wainwright was 20-11 with a 2.42 ERA in 2010 and was an NL All-Star.
More Sports Headlines
Hill is ‘The Next Big Thing’ on Seahawks defense Lynch’s status for Seahawks uncertain for Monday night Rejuvenated Husky men are young, athletic Dipoto faces busy first winter with M’s Ravens rally late, top Steelers 23-20 in OT Kansas City tops Seattle 1-0 in NWSL championship Too early to read much into Silvertips’ road split Yankees clinch playoff spot after 2-year absence
Our new comment system is not supported in IE 7. Please upgrade your browser here.