Jim Rogash, Getty Images
John Lackey of the Los Angeles Angels of Anaheim bids for the third straight no-hitter at Fenway Park—but came up a bit short.

BOSTON — John Lackey nearly pitched baseball's third straight no-hitter at Fenway Park. And that wasn't the only exciting thing the Los Angeles Angels did Tuesday.

Hours after the AL West leaders acquired slugger Mark Teixeira in a trade, Lackey came within two outs of a no-hitter to lead Los Angeles past the Boston Red Sox 6-2.

The right-hander appeared headed for the history books until Dustin Pedroia grounded a sharp single through the left side with one out in the ninth inning.

Kevin Youkilis followed with a home run over the Green Monster to spoil the shutout bid, but Lackey finished the two-hitter to help the Angels improve the major leagues' best record to 66-40.

"A no-hitter would have been nice," Lackey said. "You know what's going on, but it wasn't affecting me. I just wanted to win the game."

Pedroia said Lackey threw him a slider on the first pitch for a called strike, then tried another.

"Even the pitch he threw was a good pitch. I just got the barrel on it," Pedroia said. "He was awesome. He put on a show. We hit some balls hard, but right at guys."

Lackey (9-2) almost became the first visiting pitcher in 50 years to toss a no-hitter at Fenway, according to the Elias Sports Bureau. Hall of Famer Jim Bunning did it for Detroit on July 20, 1958.

The AL leader in ERA last season, Lackey struck out four and walked two in his 12th career complete game and second this year. He missed the first six weeks of the season with a strained triceps.

ORIOLES 7, YANKEES 6: At New York, Daniel Cabrera pitched into the eighth inning before being ejected, and Aubrey Huff had four RBIs for Baltimore, which won its third straight. Kevin Millar homered as the Orioles clinched their first series win since they took two of three against the Cubs from June 24-26 at Wrigley Field. The Yankees scored three runs in the ninth to pull within one, but George Sherrill struck out Robinson Cano and Wilson Betemit with a runner on second to end the game.

Alex Rodriguez hit his 22nd homer for New York, which has lost three straight after winning its first eight games following the All-Star break.

Rodriguez led off the sixth with his 46th career homer against Baltimore — the most for any active player versus the Orioles — and Cabrera hit him with his first pitch when he came up in the eighth. Plate umpire Chad Fairchild promptly tossed Cabrera.

Cabrera (7-6) was charged with three runs and eight hits, improving to 3-0 with a 3.15 ERA in three starts against New York this year.

Darrell Rasner (5-8) allowed four runs and eight hits in six-plus inning.

RAYS 3, BLUE JAYS 0: At Toronto, Matt Garza threw a five-hitter for his first career shutout, and Tampa Bay beat Roy Halladay for the third time in three games this season. Eric Hinske hit a solo homer, and Evan Longoria added a two-run triple for the Rays. Garza (9-6), who benefited from three double plays, struck out five and walked one.

Halladay (12-8) lost 6-4 at Tampa Bay on July 19 and dropped a 5-3 decision to the Rays at Tropicana Field on April 23.

The only other team to beat Halladay three times in a season was the Boston Red Sox, who took three of four from the right-hander in 2007.

Halladay allowed three runs and six hits in eight innings. He walked three and struck out eight.

The only extra-base hit against Garza was Adam Lind's two-out double in the eighth.

Garza was acquired by Tampa Bay in an offseason trade with Minnesota. He pitched parts of the last two seasons with the Twins.

TIGERS 8, INDIANS 5: At Cleveland, Brandon Inge homered and drove in three runs for Detroit. Armando Galarraga (9-4) retired the first nine Indians in order before running into trouble in the middle innings. He gave up three runs and five hits over 5 1/3 innings, improving to 3-0 this year against Cleveland. Inge hit his eighth homer, a two-run shot off Rafael Betancourt in the eighth. He had an RBI single in the fourth as Detroit built a 6-1 lead off Matt Ginter (1-2) and Juan Rincon.

Miguel Cabrera hit his 18th homer, and Edgar Renteria had a two-run double for the Tigers.

TWINS 6, WHITE SOX 5: At Minneapolis, Justin Morneau's bases-clearing double capped a five-run fifth to help Minnesota rally from a four-run deficit. The win moved the Twins within a half-game of Chicago, which has been atop the AL Central since May 17. Glen Perkins (8-3) held Chicago scoreless in the sixth and four Minnesota relievers preserved the win. Joe Nathan pitched the ninth for his 29th save.

RANGERS 11, MARINERS 10: At Arlington, Texas, Ramon Vazquez atoned for three errors with a two-run double in the ninth that gave Texas the win. The Rangers, who wasted a seven-run lead after three innings, trailed 10-9 in the bottom of the ninth. Marlon Byrd and Chris Davis singled off Seattle closer J.J. Putz (2-4). After an out, Vazquez drove in two runs.

ROYALS 5, ATHLETICS 2: At Oakland, Calif., John Buck and Mike Aviles hit home runs and Gil Meche allowed five hits over seven innings as Kansas City won its fourth consecutive road game. Meche (9-9) gave up two runs while walking two and striking out eight. He improved to 6-1 over his last 10 starts, with an ERA of 2.66 over that span.

National League

CUBS 7, BREWERS 1: At Milwaukee, Carlos Zambrano outpitched fellow ace Ben Sheets again, and Chicago scored five runs in the sixth to beat the Brewers, assuring the Cubs they will leave Milwaukee leading the NL Central. Zambrano (12-4) threw eight scoreless innings, striking out a season-high nine while scattering five hits and two walks to lift the Cubs to their sixth win in the last eight games in Milwaukee. Chicago pushed its division lead to three games.

Chicago got to Sheets (10-4) with seven straight hits to start the sixth inning, sending 10 batters to the plate to break open a 1-0 game.

Derrek Lee singled, Aramis Ramirez, who had four hits, doubled and Kosuke Fukudome tripled.

Zambrano, who followed Sheets to the mound in the All-Star game two weeks ago, is 4-1 in their six head-to-head matchups.

METS 4, MARLINS 1: At Miami, Carlos Delgado hit a two-run homer and New York's Oliver Perez pitched six innings for his first victory in a month. Florida, which had six hits, fell two games behind the NL East leaders. The Mets were nursing a one-run lead in the eighth when cleanup hitter Delgado faked a bunt, then hit his 23rd homer three pitches later. Nick Evans had two hits and scored New York's first two runs.

PHILLIES 2, NATIONALS 1: At Washington, Brett Myers won for only the second time in 15 outings for Philadelphia, and Chase Utley backed him with a two-run homer. It was Myers' second start since being demoted to the minors for four appearances to try to revive his confidence and shake a season-long funk. The right-hander threw seven-plus innings and didn't allow an earned run, improving to 4-9. Brad Lidge pitched a perfect ninth for his 25th save in as many chances.

CARDINALS 8, BRAVES 3: At Atlanta, Albert Pujols homered to tie the game and scored the go-ahead run on a throwing error before St. Louis broke it open with a five-run ninth. Pujols hit a towering drive leading off the sixth, tying the score at 2 with his 21st homer. He started the eighth with a double off Rafael Soriano (0-1). After Ryan Ludwick lined out, Pujols took off for third on a surprise stolen base attempt.

Corky Miller's throw sailed into left field, allowing Pujols to score and give the win to Ryan Franklin (4-4). The Cardinals made it a laugher in the ninth off Mike Gonzalez, though only one of the five runs he surrendered in two-thirds of an inning was earned.

Just before the game, the Braves traded slugging first baseman Mark Teixeira to the Los Angeles Angels.

The Cardinals won their second straight after a stretch of six losses in seven games. The Braves have surrendered 42 runs during a four-game losing streak.

PIRATES 6, ROCKIES 4: At Pittsburgh, Luis Rivas had three hits, three RBIs and finished a home run short of the cycle, as Pittsburgh rallied for a second straight game to beat Colorado. Nate McLouth and Jason Bay both had two hits for the Pirates, who came back from a 4-0 deficit. Jason Davis (1-0), making his first appearance since being called up from Triple-A Indianapolis on Sunday, pitched a scoreless sixth and Tyler Yates earned his first save of the season.

Brad Hawpe had three hits and two runs, and Ian Stewart had two hits and two RBIs for the Rockies.

Pittsburgh, which fell behind 3-0 to Colorado on Monday before winning 8-4, scored once in the third and twice in the fifth and sixth innings to take a 5-4 lead.

ASTROS 6, REDS 2: At Houston, Carlos Lee hit his 12th career grand slam and Brian Moehler came within one out of a complete game for Houston. Moehler (6-4) allowed seven hits and struck out three in 8 2/3 innings, his longest outing of the season. Jeff Keppinger doubled and scored in the ninth for Cincinnati. Wesley Wright relieved with two on and two outs and struck out Joey Votto for his first save. Miguel Tejada added a solo homer, and Hunter Pence had an RBI triple for the Astros, who have won their last eight games against the Reds. The Astros have won three straight overall and four of five.

Bronson Arroyo (9-8) gave up both home runs and lost for first time in six starts. He allowed eight hits and struck out three in 6 1-3 innings, losing his third straight decision to the Astros.

Arroyo had an RBI double for the Reds, who have lost five straight and seven of nine.

DIAMONDBACKS 3, PADRES 0: At San Diego, Arizona's Doug Davis gave up a single with two outs in the seventh to break up his bid for a perfect game. The Padres had not come close to reaching base against Davis through 6 2/3 innings before Brian Giles hit a line drive to center field on a 2-2 pitch. Davis (4-5), who underwent surgery for cancer earlier this season, combined with two relievers on a two-hitter for the NL-West leading Diamondbacks.

The Padres struck out eight times, hit into 10 groundouts and popped up twice against Davis, who left with the bases loaded and two outs in the eighth.

Jon Rauch came in to retire pinch-hitter Jody Gerut on a sensational catch by right fielder Alex Romero.

Brandon Lyons pitched a perfect ninth for his 22nd save.

Romero drove in two runs in Arizona's three-run sixth off Clay Hensley (1-2).

DODGERS 2, GIANTS 0: At Los Angeles, Jason Johnson pitched six sharp innings in his first major league start in nearly two years and James Loney singled in the go-ahead run for Los Angeles. Johnson (1-0), who spent most of the season in Triple-A, scattered five hits while walking none and striking out three before being relieved by Chan Ho Park to start the seventh. The right-hander, who has pitched for eight major league teams starting in 1997, was making his first start since Aug. 18, 2006, when he pitched for Boston.

The victory was his first since May 28, 2006, when he was pitching for Cleveland.

Park pitched 1 2-3 hitless innings and Jonathan Broxton got four outs for his fifth save as the Dodgers posted their third shutout in four games.

The Dodgers scored the game's only runs in the sixth against Matt Cain (6-9) on Loney's hit and an error by left fielder Fred Lewis.