The 34-year-old shortstop signed a deal worth $14 million, according to MLB.com on Saturday.
Furcal was a trade-deadline acquisition from the Dodgers last season and hit .255 in 50 regular season games with St. Louis. He struggled in the playoffs, but the Cardinals won the World Series regardless.
Injuries have curbed Furcal's production three of the past four seasons, though he hit .300 in 2010 and scored 92 runs in 150 games for Los Angeles the year before.
A two-time All-Star, Furcal owns a .282 career batting average with a .348 on- base percentage, 990 runs scored and 302 stolen bases over 12 seasons.