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.
As he left the field, he received polite applause from the remnants of a sold-out crowd.
Red Sox fans are growing accustomed to great pitching performances. The past two major league no-hitters were thrown by Boston pitchers at Fenway Park, immortalized by John Updike as a "lyric little bandbox."
"I was more aware actually of him throwing it than I was when I was out there," Buchholz said. "It's something special to watch. It's a lot more fun when it's one of us."
Lackey showed no emotion following Pedroia's single, but he barked for a new ball after Youkilis' home run.
"I don't want to say I was crushed, but it was a tough feeling," Angels catcher Jeff Mathis said. "I was trying not to shake so bad, and was really nervous. I've never been involved in something like that."
Angels manager Mike Scioscia said the disappointment was felt through the dugout -- even though his team won for the 11th time in 13 games.
"Your heart drops a little," he said. "You aren't going to get a better-pitched game than that. Against that lineup, pitching that well, that deep into the game -- that's just a great performance by Lackey."
Lackey allowed just two baserunners -- on a hit batsman and a walk -- in the first six innings.
David Ortiz led off the seventh with a long drive that Vladimir Guerrero caught with a hop just a few steps in front of the short bullpen wall in right. Manny Ramirez followed with a chopper down the third-base line; Chone Figgins' throw pulled first baseman Robb Quinlan off the bag, but since Ramirez was in a brisk jog he was out anyway.
The fans let Ramirez know they didn't think he was hustling, booing the enigmatic outfielder who could be traded before Thursday's deadline.
Los Angeles didn't wait, sending first baseman Casey Kotchman and pitching prospect Steve Marek to Atlanta for Teixeira just before the game. Kotchman was in the original lineup, but he changed back into street clothes and left Fenway for the airport less than an hour before the first pitch.
Lackey won Game 7 of the 2002 World Series as a rookie, but the Angels' recent playoff history hasn't been as good. They were swept by Boston in the first round in 2004 and '07 -- both times the Red Sox went on to win the World Series.
The Angels are 7-1 with seven straight wins this year against Boston, which fell two games behind first-place Tampa Bay in the AL East.
"We're a different team than in years past," said Angels reliever Scot Shields, who has been with the club since 2001. "We have the total package."
Lackey hadn't had much luck against the Red Sox. He was 2-6 with a 6.01 ERA against them in his career, including a 1-4 record and 7.46 ERA at Fenway.
Buchholz (2-6) gave up five earned runs on six hits and three walks, striking out five in 6 1/3 innings. He loaded the bases in the third before Figgins singled and Maicer Izturis walked in a run, then Garret Anderson hit a two-run homer in the fourth to make it 4-0.
Los Angeles took a 6-0 lead in the seventh when Quinlan hit a leadoff triple and scored on Howie Kendrick's sacrifice fly.
The Angels are 14-0-2 in their last 16 series against AL teams. ... Buchholz hasn't won in six starts since May 2. ... Quinlan was added to the lineup after Kotchman was traded to Atlanta.