"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.
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.
Angels starters have not allowed more than three runs in 10 of the last 12 games.
"Our starting pitchers are giving us a chance to win every night," manager Mike Scioscia said. "Combined that with the bullpen forming, combined that with guys swinging the bats closer to our capability, that equation is adding up to wins."
Pujols put the Angels ahead in the fourth when he sent a 2-1 slider from Hernandez (4-4) over the left-center wall, his sixth home run in 11 games.
"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.
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 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."
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.