The deal, which includes two club option years and is worth a reported $27.5 million, could keep the left-hander under contract through the 2017 Major League Baseball season.
"Jaime is one the best young arms in baseball today," Cardinals General Manager John Mozeliak said in a statement. "We are excited to have him as part of the core of our pitching staff for years to come."
Garcia, 25, compiled a 9-3 record with a 3.23 earned-run average during the first half of the current season. He led all rookie pitchers in wins last season with a 13-8 record.
(Reporting by Gene Cherry in Raleigh, North Carolina; Editing by Frank Pingue)