Guthrie was cruising, having retired eight straight, when catcher Ramon Hernandez dropped Coco Crisp's popup near the third-base line for an error. Boston then got four hits, three walks and a hit batter against Danys Baez and Ray (3-3).
J.C. Romero (1-0) struck out two in 1 1/3 scoreless innings for the win.
Guthrie, making his third start of the season and the fourth of his career, was looking for his second consecutive win since being promoted from the bullpen. For 8 1/3 innings, he was the unlikely star.
"Well, this was only his second start," Perlozzo said. "He wanted to stay in, but that was definitely my decision. My decision. We didn't make a couple of plays that we should have. Game should have been over."
Ray gave up three runs - two earned - on three hits and two walks while getting just one out in his third blown save of the season. He was also charged with an error for dropping the toss from first baseman Kevin Millar on the final play of the game, allowing Jason Varitek and Eric Hinske to scamper home on what could have been Julio Lugo's game-ending grounder.
"That's a game we should have won, period," Millar said. "That game was in our hands. I really feel terrible for Guthrie."
In other games:
* At Seattle, Horacio Ramirez (3-2) worked 6 1/3 innings, allowing five hits and one run as the Mariners defeated the New York Yankees, 2-1.
Raul Ibanez had an RBI single in the third and Jose Lopez's sacrifice fly an inning later provided all the offense Ramirez needed.
Yankees manager Joe Torre said he planned to use today's off day to return to New York to visit his brother, Frank, who remains in the hospital following a kidney transplant. Frank Torre, 75, had the kidney operation May 1 and has been in and out of intensive care with pneumonia and an infection.
* At Oakland, Jack Cust's fifth homer in four games capped a five-run ninth inning that helped the Athletics rally past Cleveland, 10-7.