"Really, we were fortunate this afternoon," Angels manager Mike Scioscia said. "It's one of the few games in the last month where we didn't do a lot of things we'd been doing."
The win clinched the ninth straight home series victory for the Angels (53-37) and was their 12th win in their last 13 games in Anaheim. The loss dropped the Blue Jays (48-45) to 1-6 on their 10-game road trip.
"We left so many guys on base, there comes a time when you have to blow open a game in certain situations," Blue Jays manager John Gibbons said. "That's the way it goes."
Albert Pujols made the Blue Jays pay dearly, erasing a one-run deficit and giving the Angels the lead in the seventh by launching a 1-2 fastball from left-hander Aaron Loup into the shrubs in center -- just past a leaping Colby Rasmus -- for a two-run shot. The home run was Pujols' 20th of the season and third in his last six games. It was also the 512th of his career, tying him for 21st all-time with Ernie Banks and Eddie Matthews.
"I put a good swing on it, obviously, saved it for the last," Pujols said.
Pujols' blast prevented the Angels from losing back-to-back home games for the first time since May 6 and 7 against the Mets and also rescued Wilson, who struggled again for the Angels.
Wilson lasted just 3 2/3 innings and gave up six runs (three earned) on eight hits and three walks. His one strikeout was his fewest since May 2012.
"I've had different issues in different games, and it's hard to pinpoint," Wilson said. "It's not like every game I go out there and give up a bunch of home runs or every game I walk 10 guys or something like that.
"Today, it was a lot of singles that came in a row and just a little bit of misfortune."
In his last four starts, Wilson has a 10.26 ERA and 2.34 WHIP in just 16 2/3 innings.
"I think C.J.'s confidence right now is maybe not where it has been before," Scioscia said. "His stuff looks pretty crisp. He's just, whether he's missing a pitch there or losing some counts, just not getting it done the way he can. He will, he'll get back to where he needs to be."
Wilson set a career high by throwing five innings or fewer in his fourth straight start and matched a career high by giving up at least four runs for the fourth straight start.
The Angels got out to an early 2-0 lead with two runs off Blue Jays starter Marcus Stroman in the second, when Howie Kendrick and David Freese hit back-to-back RBI singles. But the Blue Jays scored a run in the third and five in the fourth, when Steve Tolleson's two-run single and Nolan Reimold's two-run double accounted for most of the damage.
"I'll go back and look at the tape and see what I can do better, but it's not like there's that much I can do differently," Wilson said. "I'm a left-handed pitcher and throw approximately the same speed no matter what I do. So there's not going to be some sort of 99 miles an hour all of a sudden."
Fortunately for the Angels, they responded to each Blue Jays strike early with runs of their own. Josh Hamilton ripped an RBI single to center in the third that snapped his 0-for-16 stretch, and Kole Calhoun's two-run homer in the fourth highlighted a three-run frame that tied the score at 6.
Toronto scored three unearned runs -- the most given up by the Angels since May 26 -- thanks to the three Angels errors. Los Angeles entered the game fielding .987, tied for the best in the American League, while their 42 errors were also tied for the fewest in the AL.
"Guys are human beings," Scioscia said. "They're going to make errors."
The three errors were the most for the Angels since May 24, and they moved to 15-21 when committing at least one.
The Angels' bullpen continued its recent success when six relievers -- Cam Bedrosian, Joe Thatcher, Fernando Salas, Jason Grilli, Kevin Jepsen and Joe Smith -- combined for 5 1/3 innings, allowing one run on four hits.
"I think the confidence level of those guys is really high to come in there and make their pitches and hold the lead," Scioscia said.
Grilli picked up his first win with the Angels -- tossing a scoreless seventh, including a big inning-ending strikeout of Jose Bautista with two runners on -- while Smith saved his 12th game. Loup (2-2) took the loss for Toronto.
The fourth inning has been the backbreaker for Wilson, who has allowed 14 runs in the fourth in his last three starts. He hadn't surrendered a fourth-inning run in his previous 16 starts this season.
"My level of frustration is in the fact that I've just been killing the bullpen," Wilson said. "We're winning games, so that's good. Even games like today, where I just throw up a duck. That's not any good for the team, but the team overcame. Twenty-four guys on the roster contributed today, and I had a bad game."