The Red Sox inched within a run in the sixth inning, after which Tillman and three Baltimore relievers shut down Boston.
Baltimore ended Boston's four-game winning streak and moved within 6 1/2 games of the Red Sox in the American League East.
Tillman (15-4) gave up both Boston runs on six hits without a walk. Jim Johnson allowed a leadoff, infield single in the ninth that was promptly erased in a double play and he went on to pick up his 41st save, tops in the American League.
Manny Machado doubled home two runs in the third to give Baltimore a 2-1 lead and Chris Davis had an RBI double in the fifth.
Shane Victorino brought the Red Sox within a run with a homer in the sixth.
Jon Lester (12-8) took the loss, giving up three runs on five hits in six innings.