The 30-year-old right-hander had a career-high 42 saves in 49 chances last year, when he was 4-5 with a 2.75 ERA. He made $2 million.
Motte is 17-13 with a 2.87 ERA and 54 saves since his major league debut in 2008. He will be eligible for free agency after the 2014 season.
He gets a $1 million signing bonus, payable within 30 days of the contract's approval by Major League Baseball, and salaries of $4 million this year and $7 million in 2014. For 2014 only, Motte can earn $500,000 in performance bonuses: $250,000 each for 50 and 60 games finished.
St. Louis announced the deal on Tuesday.
Two Cardinals remain in arbitration: third baseman David Freese and left hander Marc Rzepczynski. If they fail to reach agreements, hearings would be held next month in Phoenix before three-arbitrator panels.