Barry Zito managed to turn in a solid spring start despite throwing his curveball and fastball higher in the strike zone than he wanted.
The veteran left-hander struck out four in four innings, Brandon Crawford hit a go-ahead two-run home run in the sixth inning and the San Francisco Giants beat the Seattle Mariners 7-5 on Thursday night.
Zito's only big mistake came on a two-run home run to Mike Carp.
"In general, my stuff was just more up tonight than it's been the last two outings," Zito said, adding that Carp hit a fastball away. "Got to work on that."
Giants manager Bruce Bochy said Zito is "getting where we need him."
"He's on his way, and it's good to see these pitchers getting stretched out," Bochy said.
Reliever Santiago Casilla pitched a 1 2-3 scoreless inning and has allowed just two baserunners in five innings this spring.
Brandon Belt added three hits and Freddy Sanchez had two as the designated hitter. Sanchez, expected to play second base, is coming off a dislocated shoulder he sustained in June.
"He put together a nice game, and good two-strike approach," Bochy said of Belt, who is 12 for 32 in spring training.
Brett Pill doubled in Gregor Blanco for the Giants in the first inning off Mariners starter Erasmo Ramirez, a 21-year-old right-hander from Nicaragua yet to make his major-league debut.
Ramirez was fairly sharp for four innings, allowing the run on four hits in four innings and throwing 50 pitches.
"I was a little high with the curve ball," said Ramirez, who gave up his first run of the spring.
"I thought he had good stuff. He was little erratic at times but he was able to reel it back in," Mariners manager Eric Wedge said. "His arm was really working good. He had a good fastball. He was a little passive with his secondary stuff at times, but when he's aggressive and ahead in the count, that's when he's at his best."
Carp gave the Mariners a lead in a third inning before Crawford made it 4-2 with his home run off struggling Mariners reliever Hong-Chih Kuo, who has a 14.29 ERA in five spring games.
Belt singled in a run off George Sherrill in the seventh, and Roger Kieschnick drove in a pair of runs with a single.
Miguel Olivo had two hits and Casper Wells went 1 for 2 with an RBI for the Mariners.
NOTES: The Mariners played an 8 1/2-inning "B'' game Thursday against the Chicago White Sox, where 2011 All-Star closer Brandon League allowed a run on two hits and struck out three in two innings of work. ... Seattle ace Felix Hernandez is scheduled to start Friday in an afternoon game in Tucson against Milwaukee, then work in bullpen sessions between then and March 28 when he's scheduled for Opening Day in Japan. ... SS Brendan Ryan got Thursday and likely Friday off to rest a sore quadriceps that he tweaked Wednesday night. ... Wedge said the rehabilitations of OF Franklin Gutierrez (partial pectoral muscle tear) and C Adam Moore (broken wrist bone) are progressing well. Both are doing light work in camp. ... A crowd of 11,518 attended the game, the largest of spring training to date at the Mariners' home stadium.