MIAMI -- The San Francisco Giants had five baserunners in the final two innings against Josh Beckett, bowled over his catcher and still failed to score the tying run.
Helped by a defensive gem, an emotional Beckett escaped two late jams to complete a four-hitter, and the Florida Marlins held off the Giants 2-1 Saturday night.
Carlos Delgado, activated after missing 17 games with a sore left hand, put Florida ahead to stay with a homer leading off the fourth.
Backup catcher Matt Treanor absorbed a blow from Todd Linden on a play at the plate in the eighth inning but held onto the ball for the out. The Giants threatened again in the ninth when the first two batters reached, but Beckett retired Pedro Feliz, Edgardo Alfonzo and Linden.
"This is what makes pitchers: Get out there and battle," Florida manager Jack McKeon said. "You've got to battle your way out of some jams, and he did that. Superb effort."
Beckett (11-6) said the death this week of a family friend in Texas weighed on his emotions. They boiled over when he struck out Randy Winn to end the eighth, and he pumped his fist three times and screamed at the batter as he walked to the dugout.
"I was kind of fired up about my situation, and it was escalated when I heard they were stealing pitches, and that's my fault," Beckett said. "I totally plan on apologizing to Randy Winn. He's a professional, and he doesn't deserve that."
McKeon said he admonished Beckett for the outburst, while Winn shrugged it off.
"I don't know what it was about," Winn said. He said no signs were relayed to him.
Earlier in the eighth, center fielder Juan Pierre threw out Linden trying to score from second on a single. The throw and the runner arrived at the plate at the same time, and Treanor held onto the ball despite being rolled by the 230-pound Linden.
"Is he 230?" Treanor said. "It felt about that. I want to do something for the club. If I've got to sacrifice my body, so be it."
Linden said his turn rounding third might have been too wide.
"In an ideal situation I would have been Deion Sanders at a 90-degree angle," Linden said. "I knew it was going to be a bang-bang play. In that situation you have to go for it."
Beckett struck out seven, walked three, hit a batter and threw 106 pitches. The complete game was his first since April 10 and the 11th this season by the Marlins, most in the major leagues.
Feliz hit his 18th homer leading off the second for the Giants' only run. Marlins starters have allowed a total of two runs in the past three games.
Delgado, the Marlins' cleanup batter, walked against Brett Tomko in the second inning, then hit a 1-1 pitch the opposite way over the scoreboard in the fourth for his 22nd homer and a 2-1 lead.
"That's what he should do, right?" Beckett joked. "He's a home-run hitter."
The Marlins badly needed Delgado's bat back in the lineup. They stranded six runners in scoring position and have totaled only three runs in the past three games, but they snapped a two-game losing streak.
Tomko (7-12), a victim of poor run support all season, lost for the first time in seven career decisions against Florida. He allowed eight hits and two runs in six innings.
"If you pitch six or seven innings and give up two runs, you should win those games," Tomko said.
Florida tied it in the second on Alex Gonzalez's two-out RBI double.
After Feliz homered, Beckett retired the next 12 batters. He threw just 44 pitches in the first five innings.
A walk, sacrifice and single by Mike Matheny in the eighth sent Linden toward the plate with the potential tying run. Treanor made the tag and he went tumbling, rose and staggered up the third-base line, his left pants leg badly torn.
"I don't think he even knew he had the ball," Beckett said.
"He saved the game," Delgado said.
The play was reminiscent of the final game in the 2003 division playoff series, when Ivan Rodriguez absorbed a blow from the Giants' J.T. Snow at the plate and made the tag for the last out.
The Giants lost for only the second time in their past nine games in Miami. ... Florida's Miguel Cabrera is 0-for-11 in the past three games, dropping his average from .350 to .342. ... San Francisco pitchers Tomko and Jason Christiansen each dropped a popup. Tomko avoided an error by throwing to second for a forceout.