The deal includes incentives that could push its value to $5 million, the source said.
Earlier Thursday, a different league source had mistakenly indicated it was a minor league deal with an invitation to major league spring training.
The deal is pending a physical.
The 35-year-old Massachusetts native had spent all nine of his major league seasons in the National League, the past two with the Los Angeles Dodgers.
In 2012, he made a league-leading 33 starts, posting a career-best 3.72 ERA and a 12-12 record. Last season, however, he went on the disabled list twice -- the first time with a calf strain, the second time with a strained lat muscle in his shoulder -- and then missed 20 more games in September with a strained groin. In total, he made 24 regular-season appearances (20 starts) and had a 4-7 record and 4.26 ERA.
He made his last start for the Dodgers on Sept. 6 and was credited with the win in his lone postseason outing, three scoreless innings of relief in a 13-6 win in Game 3 of the NL Division Series with Atlanta.
Red Sox general manager Ben Cherington, meeting with the media earlier Thursday, said the club was closing in on a veteran starting pitcher, essentially to replace Ryan Dempster, who abruptly announced Sunday he would not pitch in 2014.
Capuano is not expected to challenge for a spot in the rotation, according to a team source, but gives the club organizational depth in the event a starter is injured.
Capuano grew up in West Springfield, Mass., and starred at Cathedral High School before going to Duke. He signed with Arizona after being drafted in the eighth round.
He pitched nine games in 2003 as a rookie with Arizona and spent the next four seasons with Milwaukee but didn't pitch in 2008 and 2009 after having his second Tommy John elbow surgery. He returned to the Brewers in 2010, then pitched for the New York Mets in 2011.
Capuano is 73-83 with a 4.26 ERA in 238 games, including 209 starts.
The Associated Press contributed to this report.