TORONTO -- Blue Jays starter R.A. Dickey made some adjustments to his delivery Thursday night and it paid off with his first complete game of the season.

The veteran knuckleballer said he slowed the tempo down and it helped give the pitch some late movement. It left the Los Angeles Angels largely befuddled in Toronto's 8-4 victory at Rogers Centre.

Edwin Encarnacion and Danny Valencia hit homers to give their starter a nice cushion as the Blue Jays salvaged a split of the four-game series in front of 19,014 fans.

Dickey (2-5) gave up a solo shot to Marc Krauss in the first inning and settled down after that. David Freese hit a two-run shot in the ninth inning for Los Angeles (21-20) to make the scoreline more respectable.

"I wasn't going to let a small blip on the radar determine the outcome of the game," Dickey said of the early homer. "I was thankful tonight that I did a good job of arresting a lot of momentum that they might have been building.

"So hopefully this will be a great stepping stone towards a more consistent performance."

It was the 14th complete game of Dickey's career and his first since last July. He recorded a season-high seven strikeouts and gave up four earned runs and five hits while walking a pair.

"He gave us a big lift," said Blue Jays manager John Gibbons. "Of course then we gave him some breathing room too with some runs. We got some big production up and down the lineup, which is what you need to do. So it was just a good all-around game."

It was Toronto's second win in its last nine games. The Blue Jays (19-24) will continue their 10-game homestand Friday night against the Seattle Mariners.

Valencia's first homer of the season came in the third inning. The Blue Jays scored twice in the frame and added four more runs in the fifth, capped by Encarnacion's 10th homer of the year.

Angels starter Matt Shoemaker (3-4) lasted six innings and two batters. He gave up seven earned runs, eight hits and two walks while striking out four.

"He made a lot of mistakes in tonight's game with his off-speed pitches," said Los Angeles manager Mike Scioscia. "He got away with some and some he didn't."

Steve Tolleson and Ryan Goins scored two runs apiece for the Blue Jays, who outhit the Angels 10-5. Toronto has won three of its last 12 games overall.

"We're rallying as hard as we can in here," Tolleson said. "We're not happy with the way things have gone the last week or so, or even the whole season to kind of put that out there.

"There's a lot of baseball left and it's a very talented group. It's just a matter of time before we click."

Notes: The game took two hours 22 minutes to play. ... Krauss filled in for slugger Albert Pujols, who is day to day after being hit by a pitch in the left hand on Wednesday night. ... Toronto shortstop Jose Reyes is expected to return to the Blue Jays early next week. He started a rehab stint with triple-A Buffalo on Thursday night in Toledo. ... The Angels will wrap up their 10-game road trip with a weekend series in Boston. ... Felix Hernandez (6-1, 2.30 ERA) is scheduled to start for the Mariners on Friday night against fellow right-hander Marco Estrada (1-2, 3.55).