Updated

Felix Hernandez can accept allowing a home run to Albert Pujols.

Alberto Callaspo is another matter.

Pujols homered for the third straight game, and Callaspo had a sixth-inning pinch grand slam to lead the Los Angeles Angels over the Seattle Mariners 5-3 Saturday.

"Two pretty good pitches," Hernandez said. "The grand slam was up and in and he just hit it. It was a good slider to Pujols, too and he hit it. Pujols is a pretty good hitter."

Pujols put the Angels ahead in the fourth when he connected on a 2-1 pitch to give him homers in three straight games.

Callaspo's slam was the first by an Angels pinch hitter since Shane Halter against Tampa Bay's Trever Miller on May 8, 2004.

"The pitch I threw to Callaspo was a pretty good pitch, like he was trying to hit a popup and he hit it out of the ballpark," Hernandez said.

Pujols was hitting .194 with no homers and five RBIs through May 4, when the Angels were 10-17. Since then he's batting .280 with seven home runs and 21 RBIs, and Los Angeles improved to 23-25 with its season-best fifth straight win.

"Obviously, we struggled last month," Pujols said. "We've been playing pretty well the last couple weeks. Sooner or later, we knew we were going to turn it around. We were not going to force things. That's the way this game is.

Hernandez (4-4) allowed five runs and 10 hits in six innings with seven strikeouts and one walk. His ERA rose to 3.17.

"We beat a great pitcher today," Pujols said. "That guy's nasty. He made a mistake and we took advantage."

Pujols, who faced Hernandez only once previously — in the All-Star game — struck out on three pitches in the first inning. Hernandez didn't think the home run came on a mistake.

"It was a good slider to Pujols and he hit it," Hernandez said. "Pujols is a pretty good hitter."

Jerome Williams (5-2) allowed all three runs and five hits in six innings, and Jordan Walden, Scott Downs and Ernesto Frieri combined for one-hit relief. Frieri got his second career save, three days after earning his first.

"We had to click, and now we're clicking," Williams said.

After Pujols' homer, the Mariners went ahead 2-1 in the fifth on RBI singles by Mike Carp and Dustin Ackley.

Mark Trumbo, who had three hits, singled to start the sixth-inning rally. Singles by Howie Kendrick and Erick Aybar loaded the bases. Hernandez struck out Kole Calhoun before Angels manager Mike Scioscia sent Callaspo up to bat for catcher Bobby Wilson.

"There were some shadows there, it was tough to see," Scioscia said. "Hernandez was tough. I thought it was a chance to at least tie the game. I thought we had a better chance with Alberto up there."

Callaspo turned on a 0-1 fastball and put it into the right-field seats for his second career slam and a 5-2 lead.

" I don't know how I hit the ball that hard," Callaspo said. "I was trying to do my job, not (thinking) a grand slam, but I did."

Mariners catcher Miguel Olivo said Callaspo "didn't even believe he hit the ball like this."

"It's unbelievable," Olivo said. "If something like that is going to happen, it's going to happen."

NOTES: Mariners CF Franklin Gutierrez, who partially tore his right pectoral muscle during spring training, is close to being sent out on a rehabilitation assignment. "He ran today," Seattle manager Eric Wedge said. "Initially, we thought we'd get him early tomorrow or the next day. We'll see where he is today." ... The Angels' bullpen has a 0.72 ERA over the past 12 games. ... It was a 'Turn Back the Clock" game as the Mariners assumed the identity of the 1955 Pacific Coast League champion Seattle Rainiers. The Angels wore uniforms of the PCL's 1955 Los Angeles Angels.