Garcia, 35, will join a field of hurlers competing this spring to fill out the thin back end of New York's starting mix.
The Yankees have not made an announcement because Garcia must pass a physical for the deal to become official.
Pitching last season for the White Sox, Garcia was 12-6 with a 4.64 ERA in 28 starts, serving as one of the more reliable starters on Chicago's staff. In 157 innings, Garcia allowed 85 runs (81 earned) and 171 hits, walking 45 and striking out 89.
Adding pitchers has been the team's main priority since it was spurned by its top target, free-agent left-hander Cliff Lee, and has continued to proceed as though 38-year-old left-hander Andy Pettitte will indeed retire.
The Yankees have right-handers Ivan Nova and Sergio Mitre in line to serve as their fourth and fifth starters, but have now supplemented them with a pool of competition which includes Garcia and 37-year-old Bartolo Colon, plus several younger internal options.
Earlier Monday, Garcia was quoted in a Venezuelan newspaper as saying that the Yankees were his first choice and that he did not expect to return to the White Sox, who had maintained interest in bringing him back.
A two-time All-Star, Garcia has won at least 16 games four times in his 12-year career. He has spent the majority of his career in the American League, working with the Seattle Mariners for six seasons and with the White Sox for five.
Garcia has also spent partial seasons with the Philadelphia Phillies and Detroit Tigers, compiling a career record of 133-87 with a 4.13 ERA.
He led the AL in ERA with a 3.05 mark in 2001 and has established a track record for durability during his career, crossing the 200-inning threshold seven times. Garcia missed significant time with a shoulder injury in '07, though, and has not pitched more than 160 innings in a season since.
Bryan Hoch is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.