SEATTLE — Mike Yastrzemski homered among his three hits, and the San Francisco Giants survived a wild outing by starter Blake Snell to beat the Seattle Mariners 4-3 on Saturday.
Snell, who grew up near Seattle, walked five batters in the second inning, two with the bases loaded, and issued a season-worst six walks overall. He struck out two batters in a perfect third inning before being pulled.
Snell gave up two runs on no hits and threw 74 pitches, 42 for strikes.
''Internally, I just got mad at myself,'' Snell said. ''They had no hits, so giving up two runs on no hits is pretty bad. Coming in and talking to myself, figuring out something's got to change, that's what I needed. I've got to do a better job in the moment.''
Spencer Bivens (3-1) worked three efficient innings of scoreless relief, and the fifth Giants pitcher, Ryan Walker, handled the ninth for his third save. Walker hasn't allowed an earned run since July 30, a stretch of 11 appearances.
''He's unbelievable,'' Yastrzemski said. ''He's our workhorse down there. You can throw him in any role, and he's going to say yes, he's not going to put up a stink. He's gonna do whatever needs to be done for the team, and do it very well. I'm really glad that I don't have to face him right now.''
The Mariners finished with a season-high nine walks but just four hits. Seattle (65-65) fell back to .500 a day after beating San Francisco 6-5 in 10 innings in Dan Wilson's debut as manager. Scott Servais was fired after the Mariners lost eight of their previous nine.
The Giants (66-65) have been hovering around .500 for most of August.