Tim Wakefield (6-3) joined Roger Clemens as the only pitchers to strike out 2,000 batters with Boston and moved one win away from his 200th victory. But the 44-year-old knuckleballer left after giving up Brendan Ryan’s grand slam that cut the lead to 11-7 with one out in the seventh.

Boston’s powerhouse lineup had 17 hits with Saltalamacchia, Adrian Gonzalez and Carl Crawford getting three each.

In Arlington, Texas, Brett Cecil pitched a four-hitter for his second complete game in his last four starts.

It was the first career shutout for Cecil (3-4), whose only other complete game in his 55 games was in a loss July 5 at Boston. The left-hander allowed only four singles to the AL West-leading Rangers, who had only one runner reach second base.

Jose Bautista had an RBI double and a diving catch in an unusual spot to back up Cecil, who struck out seven and walked two.

Bautista’s hit sent home Yunel Escobar, who led off the sixth with his third hit. Edwin Encarnacion and Travis Snider had consecutive RBI doubles later in the inning off All-Star right-hander Alexi Ogando (10-4).

In New York, Bartolo Colon pitched seven effective innings to end a three-start losing streak and Curtis Granderson connected for a two-run homer, leading the Yankees over the Athletics.

Eduardo Nunez hit a two-run double and catcher Russell Martin was in the middle of everything for the Yankees. They beat All-Star lefty Gio Gonzalez and returned to their winning ways against the A’s when Mariano Rivera staved off a rally in the ninth with a bit of good fortune.

Hideki Matsui’s fifth hit, which matched a career high, loaded the bases with one out in the ninth. Josh Willingham cut it to 7-5 with an RBI single, the only run Rivera has allowed in 22 outings at home this season.

In Baltimore, Tyler Chatwood allowed two runs in seven innings, Mike Trout and Torii Hunter homered in a five-run eighth, and the Angels beat the Orioles.

The Angels were protecting a 3-2 lead in the eighth before turning the game into a rout against reliever Mark Worrell . After Trout hit his first major league homer, a three-run drive, Hunter followed a walk to Maicer Izturis with a shot into the left-field seats.

The 19-year-old Trout was batting .162 with two RBIs before connecting on a 3-1 pitch. Trout, who made his debut on July 8, is the youngest player in the majors.

In Cleveland, Edwin Jackson beat Cleveland for the ninth straight time after Indians rookie Ezequiel Carrera dropped an easy fly ball in center field to give the White Sox two runs in a victory.

Jackson (7-7) allowed one run and four hits over six innings to go to 9-1 in his career against Cleveland. He is 9-0 with a 2.61 ERA against the Indians since losing to them on Aug. 17, 2007, when he was with Tampa Bay.

Adam Dunn lofted a pitch from Justin Masterson (8-7) to straightaway center with two outs in the sixth and runners on first and second. Carrera camped under the towering fly near the warning track. He looked up, stumbled to his right, then ducked as the ball glanced off his glove and fell to the ground.

In Kansas City, Missouri, Alex Cobb curbed the Royals on six singles in seven scoreless innings and Ben Zobrist had three hits and drove in two runs to help the Rays beat Kansas City.

Cobb (3-0) struck out two and walked none to pick up the victory and lowered his earned run average to 2.57. He has allowed one earned run in 13 innings in two starts since being recalled July 18.

In Minneapolis, Rick Porcello cruised through six innings and the Tigers took advantage of Francisco Liriano’s control problems in a win over the Twins.

Jhonny Peralta, Wilson Betemit and Ramon Santiago each had an RBI, and the Tigers extended their lead in the AL Central to two games for the first time this season.

Victor Martinez added three hits for Detroit and Jose Valverde converted his 26th consecutive save opportunity.