BOSTON - Cody Ross wasn't seeking revenge against the team that let him go. He just wanted a win and he gave it to the Arizona Diamondbacks with a decisive homer.

The seventh-inning solo shot that just cleared the Green Monster capped his four-hit return to Fenway Park - more hits than he had in any of his 130 games with Boston last year - and lifted the Diamondbacks to a 7-6 victory over the Red Sox on Friday night.

"Obviously, I want to come in here and perform and play well. Any time you play against one of your old teams you want to do that," Ross said, "but I have no hard feelings toward anybody in this organization."

Ross, Boston's regular right fielder last season, drove in three runs, doubled twice and singled once. His big hit came with the score tied at 6 when he led off the seventh inning against Pedro Beato (1-1) with his seventh homer of the year. It barely made it over the left-field wall and the umpires upheld the call after a video replay.

"I thought I hit it pretty good, better than I did," he said, "but, nonetheless, they all count."

In his only season with the Red Sox, Ross hit .267 with 22 homers and 81 RBIs. But they let him leave as a free agent and signed Shane Victorino to take his spot in right.

His focus was greater in his first game at his old stadium.

"It feels like a playoff-type deal," said Ross, whose second-place team remained four games behind the Los Angeles Dodgers in the NL West. "You don't want to give away any at-bat. Maybe I should do that every time I go to the plate. I'd probably be a better player. But your concentration level's a little higher, a little more intense."

He doubled in the first, then singled in a run in the third, cutting Boston's lead to 4-3. He hit another RBI double in the three-run fifth when Arizona went ahead 6-4. He finished his night by grounding out in the ninth.

"He came back with a little bit of a chip on his shoulder. Ross is a good guy," Boston starter Jon Lester said, "but when he steps in that batter's box, he's just another hitter that I've got to get out. Obviously, I didn't do that."

Brad Ziegler allowed singles to Stephen Drew and Jacoby Ellsbury in the ninth, but got his sixth save in six chances by retiring the last two batters as the Red Sox barely missed their third walk-off win in three days. But they kept their one-game lead in the AL East over Tampa Bay, which lost 4-1 to San Francisco.

"We started to put it together," Red Sox manager John Farrell said. "Things started to build, a little momentum, similar to the feeling that we've had the last couple of nights. But, unfortunately, it didn't happen here tonight."

The Red Sox had tied the game at 6 in the sixth on Drew's two-run homer, his eighth of the year, after a single by Mike Napoli.

Randall Delgado (4-3) got the win despite his worst performance of the season. He gave up six runs in six innings, the first time in his nine starts this year that he allowed more than three. He entered the game with a shutout streak of 14 2/3 innings after tossing the first shutout and complete game of his career in his last start, a 10-0 win over San Diego.

Lester also struggled after a solid stretch in which he posted a 2.29 ERA in his previous three starts. In his last start before Friday, he pitched seven innings in a 5-0 win at Baltimore. But against the Diamondbacks he allowed six runs and 11 hits in a season-low 4 1/3 innings.

"If I knew why I was off, I would have made the adjustment a lot earlier," he said.

Arizona finished with 16 hits.