PITTSBURGH -- Seattle ace Felix Hernandez felt it from the start. His pitches were up. The Pittsburgh hitters were taking advantage.
"I didn't have good mechanics. I was missing a lot of pitches in the middle of the plate," Hernandez said Tuesday after he spotted the Pirates four early runs before settling down to lead the Mariners to a 7-4 win at PNC Park in his second start since returning from a calf injury.
"That's what you get when you've been out for a long time," Hernandez said. "I've got to have better mechanics."
Hernandez (5-4) pitched six innings, giving up all four runs on nine hits with three strikeouts and a walk. Steve Cishek, the fifth Mariners pitcher, worked a 1-2-3 ninth for his 24th save.
Kyle Seager was 3-for-4 with a home run, and Franklin Gutierrez also homered for Seattle, which scored three runs in the third and three more in the fourth. The Mariners won for the fifth time in seven games.
About the time the Mariners offense was coming alive, Hernandez was finding his groove.
"He's just such a competitor. If he doesn't hit his spots, he's beating himself up," Seattle catcher Mike Zunino said. "I thought he did a good job battling and getting back. He definitely was a little out of rhythm, but he always gives us enough to get back in ballgames."
Manager Scott Servais was left hoping the pattern doesn't become a habit.
"Felix will get better," he said. "He's got to come out ready to go in that first inning because we're not going to be able to bail him out every night."
Gregory Polanco went 4-for-5 with a home run for Pittsburgh, which had won three of its previous four and five of its previous seven.
Francisco Liriano (6-10) also hit a home run for the Pirates, but that didn't make up for the seven runs on eight hits he allowed in 3 1/3 innings. He walked four, struck out three and gave up two homers.
Liriano looked to be turning things around after striking out 13 in his previous start. His three strikeouts Tuesday left him two shy of 1,500 for his career.
"I couldn't get anything going," Liriano said. "Missing with my fastball. Everything. I couldn't get anything going and they were taking good swings and put the ball in play and walked a couple of guys, too. One of those days where you don't have anything going."
Polanco's one-out solo homer, which just cleared the wall in center, got things rolling for Pittsburgh in the first. After Andrew McCutchen was hit by a Hernandez pitch, a triple by Starling Marte and a groundout by Jung Ho Kang scored two more runs for a 3-0 lead.
The Mariners got one back in the second when Seager bunted his way on, Zunino walked and Leonys Martin singled to right to make it 3-1.
Liriano negated that run when he hit his second career homer to center with two outs in the second for a 4-1 Pirates lead. It was the first time in Hernandez's career he has given up a homer to a pitcher.
"He got me pretty good," Hernandez said. "I've known him for a while. He's a pretty good hitter."
Seattle pulled even with three runs in the third.
Gutierrez led off the inning with a first-pitch homer to right, his 10th home run of the season. With two outs, Seager hit a two-run homer to right, his 20th home run of the year, to tie it 4-4.
"That's definitely an accomplishment for me," Seager said of reaching 20 homers. "It's something I didn't think I would be able to do."
The Mariners chased Liriano in the fourth. Shawn O'Malley's RBI double and Robinson Cano's RBI single made it 6-4 before reliever Jared Hughes came on. He got Nelson Cruz and Dae-Ho Lee to ground out, but Cruz's grounder drove in another run to make it 7-4.
For Liriano, it was a step back.
"This year has been challenging for him," manager Clint Hurdle said. "Tonight was challenging. Got the two leads to get out there and get in front. I didn't see him get into a consistent rhythm on the mound. He couldn't get much down in the zone. What he got in the zone was up pretty much with all three pitches. That takes you to a bad place."
NOTES: The Mariners acquired RHP Drew Storen and cash considerations from Toronto in exchange for RHP Joaquin Benoit. The 28-year-old Storen was 1-3 with three saves and a 6.21 ERA with 32 strikeouts in 38 relief appearances with Toronto this season. ... Pittsburgh C Eric Fryer was reinstated from paternity leave, and C Elias Diaz was returned to Triple-A Indianapolis. ... Pirates RHP Ryan Vogelsong is scheduled to make what could be his final rehab start Wednesday for Indianapolis. He is coming back from facial surgery after getting hit with a pitch on May 23. ... The Pirates have not named a starter for Friday's game at Milwaukee. It apparently won't be LHP Jeff Locke, whose turn in the rotation is being skipped this week. Manager Clint Hurdle said Locke will be available out of the bullpen through the weekend. ... Mariners LF Franklin Gutierrez, who missed Sunday's loss at Toronto because of a neck injury, returned to the lineup Tuesday. ... Seattle manager Scott Servais said SS Ketel Marte (mononucleosis) is feeling a little better but will need to regain his strength. ... Mariners RHP Taijuan Walker (right foot tendinitis) is scheduled to throw a three-inning simulated game on Wednesday after playing catch Tuesday.