Saltalamacchia's two-run blast in the fourth inning broke a scoreless tie and the Red Sox later added single runs on RBI from Will Middlebrooks and Scott Podsednik.
Boston starter Jon Lester (4-4) cruised along with six shutout innings until surrendering a three-run homer to Luis Valbuena in the seventh.
Scott Atchison and Vicente Padilla, however, blunted the Cubs' comeback with 1 1/3 innings of scoreless relief and Alfredo Aceves logged his 16th save with a 1-2-3 ninth as Boston evened its three-game set at Wrigley Field.
Lester finished by striking out eight over 6 2/3 innings, allowing seven hits while walking one.
Cubs starter Jeff Samardzija (5-5) surrendered three runs on four hits over 5 1/3 innings, walking three and striking out six.